From what I can tell, resourceName is unique and used as the link between resource and activity. That means that resourceName is also the name that is displayed on the various day/week/month views. Is there a way (javascript?) to change the displayed resourceName to something more legible (i.e. FirstName + LastName)? I'm using the Resource/Activity in a scenario where conflicts will happen so I am having to use a Guid as the resourcName to ensure uniqueness. Possibly I missed the capability to change the Displayed Name, so please correct me if I am wrong.
I think I might have found my own answer, but I'll be testing this out with the included sql adapter. I have found this in the api.
The Key is used to lookup and administer the Resource instance in it's collection, and is distinct from the Name which identifies the Resource in a user-friendly manner. For example, a Resource may have the Key 17, while having a more memorable Name such as "Bob."
The Key value -999 is reserved for use by the UnassignedResource, and cannot be specified for other resources in a scheduling application.
I believe there is a unique index on the Resource table that will prevent you from creating resources with the identical name. I hope you find a solution to this as I have had to work around this in ways that aren't so awesome.
Our system will support multiple clients each with completely distinct calendars. So my resource names need to be not only unique within each client, but across all clients, who are not even aware that the others exist in the system.
So I am adding a qualifier to the end of my resource names - "Sales Team (Scranton)" and "Sales Team (New York)" are 2 different resources - assuming I have 2 clients named "Scranton" and "New York".
Problem I still have to solve is that client names are not yet forced to be unique luckily we are still pre-prod I can solve that in the next Sprint.
Another problem was for individuals when there are 2 "John Smith" in same client, so for individuals I use their Id number so I would get "John Smith (JS123)" and "John Smith (JS789)" and while that might be confusing for people that had to work with schedules for both John Smiths, in my app there is no function where anyone actually works with multiple individual users' calendars so it is not a problem.
Resource.Name had a uniqueness constraint because it was assigned to WebScheduleInfo ActiveResourceName property (more human-friendly than an ID) to determine the resource whose schedule needed to be loaded (in the single resource case).
Is it possible for you to use Resource.Description? Description has no uniqueness constraint, so you can have:
Resource
HTH,
I was tempted to use Description, but what I ended up realizing is that the ResourceName is what gets displayed on the WebSchedule Calendar View. What I have ended up doing is creating a side off table that holds a link to ResourceID where I keep a column called ResourceName. For ResouceName I just assign it a GUID, letting the user set the DisplayName as that allows them to just assign it as they want.
To fix the displaying of the GUID on the front end WebSchedule Calendar View (Day, Week, or Month) I use Java Script to change the label.innerText and label.title every time the page is rendered.
I personally feel that if ResourceName is going to remain unique, then another attribute, such as DisplayName, should be added so that a more 'friendly' display is available to the user. I think there must have been some miscommunication when developing this solution since there is a unique ResourceID and a unique ResourceName, with the ResourceName being displayed on the front end to users. I am hoping that future releases might alleviate this issue with either sorting out the 2 unique columns, adding a column DisplayName, or setting up the column Description as the displayed value on the front end even though this really goes against the what Description typically stands for.
If anyone wants the code that I used to change the ResourceName on the front end let me know, I can post it here.