The links module is designed to display user links in several different formats and styles. The display formats are:
The style formats (List only) are:
In addition to several display options there are several other options that can be set by the user. These settings include:
- Open link in new window
- Track the number of times a link is clicked
- Record the user, date, and time of each link clicked
- Adding a description to each link
- Setting the view order of the links
While these options will cover usages by 90% of the people out there, more functionality will be added to allow more flexibility.
Overall Project Goals
The main goal for this project is to be an easy to use links module that provide some advanced features. The most important thing it needs to do is pass the "Mom" test. If my mom can use it, then I know others will be able to use it as well. The main features we would like to incorporate are the same as before, but I will list them again as well.
- Templated Links - This one thing I believe is key to the rest as it will allow the users the flexibility to create links in the format and style they want. Ideally all links formats would be templated with the default being to install the List and Drop Down List templates. Possible templates would be:
- Image Link
- List
- Drop Down List
- Icon Links
- Categorized Links
- AJAX - Many area's of the module would benefit from using client-side scripting including the creation / edit process as well as the expanding of the (...) section.
- Multiple Link Creation - Allow the creation of multiple links to minimize post-backs. With the Enabling of AJAX, this maybe moot. But it is an area that we would like to keep an eye on for future development.
- Known Release Schedule - Adopting an Ubuntu style release process will allow the end users to know when releases are scheduled as well as informing them exactly what will be in the release. Our goal is to release 4 times per year. The release cycles will be 3 months each and will consist of a 2 month coding cycle coupled with a 1 month release cycle. Once a scheduled release has entered the release cycle all development will be stopped and the code base locked unless changes are required to pass the release cycle. This will ensure that feature creep does not become a problem.
Goal for Next Release
Our biggest goal for this release will be to convert the module to ASP.NET 2.0. The release that is in the current release cycle will be the last ASP.NET 1.1 release for the links module. One of the main reasons for doing this is to allow us to re-write the majority of the code that is in the links module. We would like to decouple ourselves from the core as much as possible with the ultimate goal being the only connecting to the core for security reasons (think authentication / role management) and where we need to access core tables. This is a major undertaking so no new features will be added during this time. If we do not use all of the allocated development time, we might consider introducing a new feature. But that will be determined on the fly, not now. The Scheduled release process will start on January 1 with the release scheduled to happen March 31st or before. As this release takes shape, the next scheduled release will take shape and be announced.
The above items come from suggestions in the forums, requests from other project leads, as well as the Links team. If you have any suggestions, please feel free to contact me directly at awhittington (at) crystaltech.com. All feedback is encouraged and welcomed.