Hi Bill,
The approaches you're comparing are generally:
- extend the current functionality, modify just the DB table, keep the original controls intact and use the amended ones along.
and
- make a clone of the whole module.
The second approach, although looking cleaner, would be very difficult, may require source code usage (since some parts of code in DLLs will use default structure names) and creates quite big redundancy in site backend code.
Therefore we would recommend rather the first approach, since the change is quite little.
The safest option probably is to create custom table to map the Projects with priorities / ordering and use it just in your modified project list webpart.
Slightly less upgrade-safe (we cannot guarantee the priorities won't be added by default in future), but quite fine approach would be to mark the PM_Project table as system table by changing the "ClassShowAsSystemTable" flag for PM.Project record in CMS_Class table to "1". Then you will be allowed to add new field into the table in Site manager -> Development -> System tables. Please follow the recommendation from
this DevGuide articleHope this will help.
Regards,
Zdenek