Good stuff is coming for the Summer '11 release of the Force.com platform! My personal favorites: dynamic components and javascript remoting, these 2 features will save a lot of headaches when working with Visualforce and I'm already thinking of several pages that I could optimize by using them.
Anyway, every new release comes with very interesting features but there's still a feature that I'd wish Salesforce could improve and it has to do with auto-number names for records. Why? Well, because these records are hard to find. There are cases where you definitely don't need to setup a special name for records and any identifier will work but I've come across several cases in which users need to select a record that has an auto-number name through a lookup dialog and always end up with complaints about the search functionality for these records. This could be solved by telling users to use a naming convention for the record and avoid auto-number names but it's hard to assure naming conventions will be followed and since the name field is a required field you cannot set it through a trigger or workflow unless you make some workarounds with Visualforce.
These situations usually happen when we have an object in which the record name is hard to define since it may describe several things and these usually end up being records of junction objects. For example, let's look at the following situation with the well-know Recruiting app.
We have a junction object called Job Application and we name it JA-{00000}, everything works fine at first but as our application continues to grow we might end up creating an object such as "Interview" that we must link to a "Job Application". If you wanted to create an Interview record directly from the "Interview" tab and link it to a Job App through the lookup dialog, well... you'll need to know the auto-number name for the Job Application or hope it comes up in the recently viewed records, although Salesforce gives us the option to set the columns for the lookup dialogs there's no easy way to search within the list for this type of records.
I think any of the following options could help a lot in this situation:
1.- Search by other fields within lookup dialogs, not just name fields
2.- Give the option for removing the required option from the name field
3.- Define an auto-number as a formula field
In my opinion, option 1 is probably the best since it seems like the one that has less impact but I wish the platform could offer the flexibility of option 2. I'd appreciate any feedback on this from everyone out there, there are already some ideas related to this subject so please vote for them so that we can see this solved in a future release.
Here's a list of some of the ideas related to auto-number fields:
Anyway, every new release comes with very interesting features but there's still a feature that I'd wish Salesforce could improve and it has to do with auto-number names for records. Why? Well, because these records are hard to find. There are cases where you definitely don't need to setup a special name for records and any identifier will work but I've come across several cases in which users need to select a record that has an auto-number name through a lookup dialog and always end up with complaints about the search functionality for these records. This could be solved by telling users to use a naming convention for the record and avoid auto-number names but it's hard to assure naming conventions will be followed and since the name field is a required field you cannot set it through a trigger or workflow unless you make some workarounds with Visualforce.
These situations usually happen when we have an object in which the record name is hard to define since it may describe several things and these usually end up being records of junction objects. For example, let's look at the following situation with the well-know Recruiting app.
We have a junction object called Job Application and we name it JA-{00000}, everything works fine at first but as our application continues to grow we might end up creating an object such as "Interview" that we must link to a "Job Application". If you wanted to create an Interview record directly from the "Interview" tab and link it to a Job App through the lookup dialog, well... you'll need to know the auto-number name for the Job Application or hope it comes up in the recently viewed records, although Salesforce gives us the option to set the columns for the lookup dialogs there's no easy way to search within the list for this type of records.
I think any of the following options could help a lot in this situation:
1.- Search by other fields within lookup dialogs, not just name fields
The good:
Minimum impact and it would involve a small amount of configuration tasks since we would probably just need to set some of the fields as external ids to create indexes so that we can search on these.
The bad:
There might be some cases where we might need to create workflow rules for concatenation purposes.
We won't be able to display more info of the record in the auto-number name.
2.- Give the option for removing the required option from the name field
The good:
Gives us the flexibility to set the name through workflows or apex triggers (for more complex situations).
This could be useful for objects in which you might want to create a name depending on the record type, the name field could be hidden from a specific layout and then filled in the background through workflows or triggers.
The bad:
If no name is defined, we might end up with records having the Id of the record as a name and that is a bad thing.
3.- Define an auto-number as a formula field
The good:
Gives us a lot of flexibility for setting up the record name without using any workflow or apex trigger.
The bad:
Probably hard for the platform since it would need to construct an index based on a formula field and I guess that if this is possible it could hurt in performance.
In my opinion, option 1 is probably the best since it seems like the one that has less impact but I wish the platform could offer the flexibility of option 2. I'd appreciate any feedback on this from everyone out there, there are already some ideas related to this subject so please vote for them so that we can see this solved in a future release.
Here's a list of some of the ideas related to auto-number fields:
- Allow Record Name to be formula field while allowing autonumber
- Improve Enhanced Lookup Search Capabilities
- Lookup Search Fields For Custom Objects
Saludos!