|
just another regularban.info web blog |
| MEMBERS: | Choosing the Best Content Management systems
When choosing the best content management system for your project, it is important to weigh both the technical and non-technical pros and cons. Both technical and non-technical reasons can ultimately affect the bottom line cost. Therefore, it is not recommended to simply choose a content management system based solely on technical language or feature set. In this article, we will take a look at an open source content management system called Radiant CMS. Radiant is a Ruby on Rails based solution that works with a variety of databases. It has a few years of development and a couple noteworthy deployments. There are technical and non-technical reasons why Radiant CMS is a good choice for a content management system. Technical Reasons to Choose Radiant CMS: It's Ruby on Rails based which can speed development by taking advantage of the convention over configuration paradigm. In addition, the Radiant code base has excellent automated coverage in unit tests. This means the code is well tested and robust. Unit test code coverage can be one aspect to measure when considering open source content management systems. In fact, we could suggest the amount of code covered by automated unit and integration tests should be considered when choosing any open source library and/or framework. It is an easy indicator to measure and compare. But, that is an entirely different conversation. Radiant CMS also has an excellent extension system. This allows customizations required by your project to be made. When choosing a content management system, the ability to add and maintain any customizations should be an important factor. This point should be considered not only from the beginning, but how your customizations will evolve as upgrades and enhancements occur within your chosen content management system. In other words, if the core CMS is modified to provide the custom functionality, how can upgrades or patches from the core CMS developers be applied to your modified version. Radiant's extension system provides this separation of concern. The Radius tagging system of Radiant is fantastic for adding dynamic functionality. It is nice that tags can be added directly to page content rather than some kind of comment or special character sequence in order to indicate non-static content. Non-Technical Reasons to Choose Radiant CMS: Radiant has an elegant, intuitive administrative interface. It is not intimidating to the non-technical user. In fact, the design encourages people to embrace using the system, because they assume it is going to be easy to pick up and learn. The lack of workflow functionality can be considered a feature in many cases. In competing CMS products, workflow can seem like an attractive feature at first, but is often hindrance to configure and work around for projects which require only a few administrators of content. An additional, non-technical reason to choose Radiant CMS is cost. The project is open source and the community of ruby on rails developers and ruby on rails hosting providers is growing, so your cost risk of obtaining these resources is minimized. Conclusion From a technical perspective, the open source, Ruby on Rails based Radiant CMS makes an excellent choice. From a non-technical perspective, Radiant CMS makes an excellent choice as well. When combining both perspectives, we have had many positive project experiences and deployments using Radiant over the past year and a half.
Passing Parameters In A Data Table Using JSF
Some working knowledge of J2EE or JSF is assumed for this article. Like some of you I've been frustrated with this technology known as JSF or Java Server Faces. There are several different flavors out there that are built on the shoulders of JSF. For instance Oracle's ADF (Application Development Framework). Oracle ADF Faces Components is a set of over a 100 JSF components that let you build a richer user interface for your Java EE applications. Oracle ADF Faces also includes many of the framework features most needed by JSF developers today. That is great, and in many ways it will make life easier to develop in a JSF environment. Some items you will find available in these "add on" packages have a real benefit. For instance, as of the date of this article, I was very surprised that a File Upload is a feature still not implemented in JSF in respect to using natural jsf tags. There are ways to accomplish this task in JSF but they are not native JSF approaches. The process is a "no brainer" in just about every other framework available today, including asp.net. Another simple task (I thought) was having a data table present the results of a query in an editable format. Possibly to update a user record or shopping cart. After working in other technologies it was very efficient to return a result set to a data table object and let that object take care of some of the trivial behaviors and characteristics of the table itself. When I started exploring JSF I was frequently and at every turn becoming more and more frustrated in trying to duplicate some of the most basic of processes similar to managing records through data tables. There are not a whole lot of resources out there yet on JSF although it is growing steadily, and I found that all too often the resources that I was finding on the internet either didn't apply to the more simple tasks or the information was just completely wrong. One example of that was that it was stated in one article I read that you cannot use command buttons inside of a JSF data table. The recommendation was to use JSF hyperlinks instead when trying to perform an action from a data table due to a bug in the framework that prevented command button actions to fire if the button resided inside of a data table. At first I thought "you've got to be kidding me"! Then I remembered that I've been finding a fair amount of "bogus" information in regards to JSF development so I decided to do further research and discovered that information to be less than accurate as well. I simply had to find a way to populate a data table through a result set and get a command button to fire an action and pass all of the data in the data table to the backing bean to update the record. Multiple command buttons would exist as well as hidden fields pertaining to id numbers and so forth. Pretty basic stuff and we've all done it before with relative ease. It turned out that the solution was in fact a simple one. "Binding". You've heard about it and read about it. But this approach was something a little different as far as I could find. Many of the blogs and articles that I read dealt with passing the values as parameters and following the steps to define the parameters in faces.config files etc., then retrieving the parameters in a backing bean. Processing the passed data required another set of procedures to utilize mapping to each of the field parameters passed and then processing could begin. That seemed like a whole heck of a lot to me just to retrieve form data. Then it occurred to me that I should be able to "bind" a text field component on a page to a backing bean. Once it is bound then all I have to do is extract the data. And that's all there is to it. My query returned results and pre-populated a data table including text fields with the values of the query pre-populated in the text fields. Each one of those text fields was bound to a "HtmlInputText" type in my backing bean. It was not a String type like other approaches define. Doing that does require you to map parameters and populate that String variable through your set methods once the form is submitted. What I found is that if I bind my text field to a property of text field type that it solved my problem of passing values from a data table, and I didn't have to define parameter fields anywhere in any xml file. Now that I had that figured that out I needed to figure out how to get the value of that property that I've bound my form field to, well why not getValue()? I personally hadn't seen any examples online or in books for retrieving the value from a form binding it to the type of form element it was and simply use the getValue() to pull out the value of the object. Used like this getParameterFromForm().getValue(). Let me clarify that I am NOT saying that trying this approach isn't documented anywhere, I find it hard to believe that I've had some stroke of genius that no one has had before in the world of java, especially since I'm coming from .NET and ColdFusion. After doing that I no longer had any problems passing form data to my backing bean. I was able to dynamically populate data tables with any number of records including any number of command buttons within that data table and I didn't have to concern myself with remembering to define parameters in any other areas of the application. So put simply you can bind your form fields to properties of the same type in your backing bean, and then extract the value of that object using getValue() if you prefer over utilizing parameter string mapping and similar approaches for processing form data. I found it to be easier and less time consuming which has costs associated to it as well.
How to Choose the Right Web Development Partner
How to choose the right IT Company? If you are concerned about any such issues and are hunting for answers then go on and read the entire stuff. With rising needs of web development industry, it becomes imperative to choose the right partner for a successful project. The choice of partner will very much impact the overall delivery and implementation for your online presence on World Wide Web. Some people just pick a partner from one of the first few people who contact them while others make their selection based on the prices offered to them from various companies/individuals. What people most often do not consider is the ability and past delivery record of their partner. What's most important is not just to see the project happen on papers, but to visualize it happen in real in the given conditions. For how long has the partner been into business? Have they dealt with any customers in your region/area? Does your partner have the capability to deliver what you are looking for? Does the partner have technical competence to warn you about any potential flaws or problems that can crop up at a later stage? Does your partner take care of quality and minor details to bring in professionalism in work? Has the partner done any similar work in past or something which is comparable and equally complex? Are the timelines give to you feasible and will be followed? What happens if deliveries are not made on time for your work? Are the prices offered to you feasible and to market standards so as to cover the development costs and build a long term relationship? Is the partner stable and will be in business once your work is done? Is the partner or their associate traceable in case you need them urgently? Has the partner had any satisfied customers in the past for any services they have done? What kind of after sales support will be provided assuming work has been done and delivered? If you get satisfactory answers for at least 80% of the questions above, then I think you are in good hands. Some people will not be able to provide satisfactory answers to most of these questions. If you land up working with them, the project is bound to fail. We suggest you to continue your search in such cases and think twice before starting any sort of work with non-professional partners.
|
* About Archives
Categories:
Last Updated: |
| regularban.info
is proudly powered by WordPress MU running
on regularban.info.
Create a new blog and join in the fun! Entries (RSS) and Comments (RSS). |