August 15, 2012

Would it be better to build a CMS from scratch?

Question by user1599841

I need a website that has log ins, individual account feature can run custom jquery, php code page and display table from database with great flexibility, (If not this is where the jQuery and custom PHP comes in) easy customizable theming and layouts and about 5 – 7 php pages.

Would i be better off writing my own CMS or use which are already available on the Internet?

Which CMS would you recommend? I’ve browsed Drupal and Joomla videos and i can’t find any in depth detail to how flexible these are. They seems to be tailored to blogs and non programming managements.

Or, maybe i should be looking at a framework instead? I don’t want to pick wrong CMS. Please suggest me to make the right choice.

Answer by Starx

If you are not a programmer yourself, then there is no other options but to choose those which are already available.

Since scalability is the big question here, if you are a programmer/developer then adding and modifying features to an pre existing system is not so a big problem. Some of the reasons to consider open source softwares:

  • They have near zero amateur mistakes, on coding standards.
  • Codes are thoroughly check again and again by developers and other interested contributors over and over again.
  • Support can be found very easily.
  • Issues are regularly fixed and upgraded version are available.
  • System are tested to provide maximum performance.

Which CMS would you recommend?

This is a question only you can answer. Read about the CMS itself. Learn about the features that it provides. If they are enough for what you are trying to build, then pick that one, or else see another CMS.

I can’t find any in depth detail to How flexible these are?

This is a mis-understading. CMSs like Joomla, Drupal they have been around for a very long time. They are continuously improved and debugged. Support for them are globally available through sites like Stackoverflow itself. The massive global community only expands these systems.

Many developers or agencies build plugins, extensions for these CMS system. How are they doing that? Every system can be scaled and is flexible. It depends on you, how much you can work with it.


Where as,

You are a very enthusiastic programmer, and just like to build application your way just to enjoy the thrill of bugs and enjoy banging your head most of time ๐Ÿ˜‰ and learn a lot at the same time then why not? build your own system.

July 8, 2012

manage module's options approach

Question by mhesabi

I’m about to create let say a custom CMS with php and mysql. each page has a few zones. each zone can output modules. for example we have a news module and we already added news categories and single news items at module admin section.
but here it begin: end user wants to get different output of this module. for example user wants to show news of “sport” category, or user wants to show top 5 last news, or user wants to sort news by something, or, or, or …. many other options that a module can take.

my question is what is your solution to handle and manage these options.
– do you suggest a module_option table for every module like news_options?
– do you suggest a single table that holds every modules options?

hope I could get what i mean ๐Ÿ˜‰ also let me know if db diagram is necessary.

Answer by Starx

  1. First approach could be using different table for each module. Then you can keep the settings of different instance in the fields. In the manageable form.

    Example:

    Table: News
    ----------------------------------------------------------------------
    | id      +     news_title     +     option 1     +    option 2      |
    ----------------------------------------------------------------------
    
  2. Next approach, could me using Global configuration table, which holds the key name and one field and key value in another field. This way you dont have to create different table from different modules.

    Example:

    Table: ModuleOption

    --------+-----------------+-------------------+---------------------+
    |  id   |   module_id     |    setting_name   |   settings_value    |
    --------+-----------------+-------------------+---------------------+
    |   1   |   1             |     option 1      |   option value 1    |
    --------+-----------------+-------------------+---------------------+
    |   2   |   1             |     option 2      |   option value 2    |
    --------+-----------------+-------------------+---------------------+
    

The questions about which one to choose over which, depends on how you code your project. Both have its own advantages and disadvantages. However, some points to consider

  • If the option contains a method to input long text then, second approach is bad as the size of options will vary a lot.
  • If all the module settings can accompany with in fixed length fields, then second option is definitely the best way.
...

Please fill the form - I will response as fast as I can!