Our company Nextide has recently signed up as an organization supporting Drupal. We have been in the OpenSource Development for nearly ten years developing applications and have been exploring Drupal over the past year with the plan to migrate our applications. Over the past few months we have had time to focus on these projects and are ready to release them in a beta state for peer review. I would like to create our module project pages and get our CVS access established. Our initial contribution called Nexfile is a document management application and has been submitted a few weeks ago for review.
Site: http://www.nextide.ca
The Nexlist list management module allows a user to easily maintain a lookuplist. It is primarily a secondary module, as many of the Nextide applications use it to allow a user to seamlessly administer any items that would appear in a dropdown list, among other possible uses.
In addition to seamless list management and an easy to use, intuitive interface, Nexlist encapsulates a few new tricks which sets it apart from other list management modules. First off, Nexlist takes things back to basics; it is a port from another environment where it has had years in the hands of end users and the interface has been tuned for ease of use from non-technical users. Providing an easy to use interface leaves the hard work for the developers and the the site administration to the users, without the need to consult documentation or the developers!
Secondly, Nexlist allows for a number of different field options when defining a list. The first and most basic is as Static Value field, where the administrator will add static values, such as country names; nothing fancy there. The second field type is to get the values from another list, which allows for relational lists and advanced dropdown lists that filter a secondary dropdown list based on the value selected in the first list. For example, adding a "States" list would have a static field for our States, and a dynamic list to relate it back to the country.
The last field option leaves it open to the developer, where custom lists can be created. Currently as an example we distribute the nexlist_get_users type with Nexlist, which when used will populate dropdown of users, which allows creation of lists such as supervisor / employees dropdown, among many other possible applications.
Upon reviewing Nexlist, we at Nextide trust you will see great value in such a module for the drupal community. Thank you for your time.
Regards,
Eric
Nextide Inc.
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | nexlist_0.8.1.zip | 13.12 KB | chevy |
| #1 | nexlist_0.8.0.zip | 13.12 KB | chevy |
Comments
Comment #1
chevy commentedComment #2
chevy commentedNexlist updated to 0.8.1
- now uses drupal_string functions
- fixed small problem with nexlist_get_other_list option in the list definition
Comment #3
avpadernoHello, and thanks for applying for a CVS account. As per requirements, the motivation should be expanded to contain a comparison with existing solutions.
Comment #4
chevy commentedNexlist vs Other Modules Comparison
There is one other module, Hierarchical Select, with similar functionality to Nexlist. While both are similar in that they let you define drop downlists, there are some key differences with Nexlist that provide inherent advantages over Hierarchical Select (henceforth referred to as "HS"). There are four distinct areas I will contrast to show the difference between HS and Nexlist. Nexlist allows the reusability of parent lists, Nexlist allows for associated/equal level items, Nexlist is very simple and easy to use for the end user, and Nexlist includes an API to allow developers to create their own lists programmatically.
Perhaps the largest advantage of Nexlist is the ability to reuse a parent list more than once. HS allows you to create a list, with children, however the main drawback is if you wanted to use the parent list to define another list related to the parent. Take for example a list made up of countries, and a sub list of states that is related to the countries. With HS, you define it all in one Taxonomy vocabulary. With Nexlist you can do the same thing, however, suppose you wanted to create another list that uses countries as the parent, but this time the sub list was athletes, related by country. Both sub lists are completely separate from another, but both share the common parent. Using Nexlist, you would first define the countries list, and then each sub-list as required. However with HS, it requires you to define the countries separately for each list!
Along the same lines is Nexlist's ability to create associated items. Let's take the countries example again. Suppose you created the parent list countries, and had a sub-list of states. But then associated with states you wanted to know the population, flag, and flower. Using Nexlist, you would first define the countries list, and when defining the states list this time you can add as many fields as you like. Then when adding items to the states list, you fill out the state, population, flag and flower each with its own field. When the user selects a country, they will see a sub-list with all the states names. But then using the developer hooks a developer can pull back the other related information on the selected state easily. This ability is simply not available with HS.
Our next point is a fairly basic one, but it comes down to the usability of the two modules. HS requires both the CCK and Taxonomy modules before it can be installed to the Drupal site, where Nexlist is a standalone module. Also, after perusing the HS module, I found the interface to be a little cumbersome to define new lists. Using Nexlist, I am able to create and maintain lists out of the box with a user interface which was perfected with Nexlist's many years in the end user's hands on another platform, and will be hardened for the Drupal version in the next version of Nexlist. Nexlist leaves the hard work for the developer and the administration of lists up to the end user.
That brings us to the final point. Nexlist's rich set of developer APIs which lets developers include their lists in their forms, and while not yet available in as a CCK field, that is our direction once our module is approved for the Drupal platform. One developer API that stands out is the ability to supply a simple array of options/values, which can then be used as a field type when defining a list with Nexlist. Since HS relies on the Taxonomy, this simple array of values is not achievable. One such list is included out of the box with Nexlist, the nexlist_get_users function. You'll notice when defining a new list with Nexlist that you can specify the field type, and nexlist_get_users is one of the options. If you specify this as your field type, when adding items to your list you'll automatically get a dropdown of all the site users. This allows you to create a supervisor/employee type relationship, among other possibilities.
While HS has its advantages in it being fully integrated with Taxonomy and CCK, that is the intended direction for Nexlist as well. The additional features that Nexlist offers however set it apart from HS and add real power to dropdown lists and can almost be used as a simple, user friendly relational database. With Nexlist's abilities of reusing parent lists, allowing associated items, simple to use interface and extensive developer API, we at Nextide trust you will see the clear differences and advantages of the Nexlist module.
Comment #5
chevy commentedIs there any progress on my review?
Comment #6
blainelang commentedCan we move this forward or accept chevy as I also need him as a co-maintainer on the filedepot module and we are presently working on another drupal module project.
I work with chevy (same company Nextide Inc www.nextide.ca)
CVS issue for chevy for co-maintainer of filedepot: http://drupal.org/node/797908
Thanks!
Blaine
Comment #7
avpadernoI am approving this application for co-maintainer.
Thank you for your contribution! I am going to update your account.
These are some recommended readings to help with excellent maintainership:
You can find more contributors chatting on the IRC #drupal-contribute channel. So, come hang out and stay involved.
Thank you, also, for your patience with the review process.
Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
I thank all the dedicated reviewers as well.
Comment #8
blainelang commentedThanks kiamlalumo !
@@
<
\/
Comment #10
chevyaveo commentedgood point.
Comment #11
avpadernoI am giving credits to the users who participated in this issue.
Comment #12
avpaderno