[SalesForce] Related Custom List With Order and Inline Editing – Many to Many relationship and Junction Object

We are using three objects in this project: Contact (for authors), Paper, and junction object PaperAuthor.

Paper holds all all attributes to describe an academic paper. Paper can have many Authors.
Authors is a Contact object. Contacts can have many Papers.

Paper to Author has many to many relationship.

We need functionality to add authors to the paper, and papers to thee Author. I was advised to solve it by creating junction object (PaperAuthor) between Paper and Author, and using PaperAuthor object as a custom related list to both Paper and Author objects.

It worked fine, but now I got a new requirement that users should be able to define order of the related list, and edit this order. I can add numeric field Order to PaperAuthor object and order it by this field on select.

Question:
I do not know what will be the right way to allow it for editing. Ideally user should be able to edit order for all authors simultaneously. This requires inline editing functionality for Related List. I feel it should be done with Visual Force page, but I am not sure.

I am also trying to use Mass Update, Mass Editing tool from app exchange. There clear examples how to setup this tool for custom object with one to many relationships, but I am stuck with how to do it for custom object with many many relation.

Please, advise:

Here are images of my objects

PaperAuthor object:

enter image description here

Paper Layout:

enter image description here

Author Layout:

enter image description here

Best Answer

The Mass Update And Mass Edit From List View app should be able to get you where you want to be.

It is correct that you will want a number field on the PaperAuthor object in order for you to have a field to sort the records.

The one-to-many model which the tool's examples describe will work in this scenario. The 'one' in this case is the Paper and the 'many' is the PaperAuthor, the Author object is really irrelevant to the problem which you're solving for.

You might consider putting a few formula fields on the PaperAuthor object to retrieve any relevant information from the Author record to display within the related list. This could help your users better know which Authors they are dealing with in the list.

Related Topic