Welcome Guest, Not a member yet? Register   Sign In
Which starter app kit or cms / admin system to choose?
#1

Dear all,

after a couple of years of working with Codeigniter 2.1 using the bare framework and some home-made libraries, I'm considering porting my main project (a booking portal + booking system) and all my future works to an established CI 3 development framework, possibly with some cms functionalities and admin backend.

A quick search on the internet and some test installations, gives me the following choices (but I'm sure I'm leaving out lots of other alternatives):

1) Creating my starter app myself, maintaining it and keeping it consistent by updating it regularly with new CI releases and all the libraries I'm already using in my projects. Pros: complete control - Cons: lots of work to keep up with the updates. Probably at last I'd give up and forget updating (as I'm doing now...)

2) Using a starter app kit like for example:
- https://github.com/ivantcholakov/starter...-edition-4
- https://github.com/JasonBaier/ci3-fire-starter
Pros: simple Cons: limited / maybe won't be maintained for a longer time

3) Using a cms / admin system like bonfire or fuelcms
- http://www.getfuelcms.com
- http://cibonfire.com/
Pros: more complete, tested, etc... Cons: more work to enter the frame of mind, more difficult to modify, patch, etc... 

My important assessment points for the tool I'll choose will be:

1) The tool should have a conservative approach to the main codeigniter CI 3.0 source. That is, if the trunk moves on, I want to be able to update CI inside the tool without having to patch it in thousands of different places.

2) It should keep the CI original source code well separated from the tool's added source code.

3) It should be maintained and possibly alive

4) Should be easy to modify / patch (even if I'd keep these changes/patches to the bare minimum if possible)

5) Should have a segment based localisation feature (so not only session based)

What is your approach to this choice?


Choosing ("Marrying") a framework could shape my work for the next 2-3 years... therefore I think this choice is for me very important and should be made with all the possible care.


How would you address this challenge?

Thank you
Stefano
Reply
#2

I build my own system.
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply
#3

(05-23-2016, 03:15 AM)InsiteFX Wrote: I build my own system.

Same here, the reason why I'm using CI is because I'm not bound to restrictive systems.
Sure in the end it is more work, but you can be sure, what you get is the best fitting one for your project.
Reply
#4

Thank you for your replies, both.

Could you tell me what is the technology stack you're using?

For example, which authentication system (if any)? Which assets management? And internationalisation?

What about the admin site? Do you use any specific products/CRUD, or do you build one every time your according to your needs?

Or maybe does anyone have a pointer to a documentation/page/thread discussing the library stack?

Thank you
Stefano
Reply
#5

Maybe I should go first:

I was running for a while:

Codeigniter 2.1
tank_auth
bstrahija/assets-ci
codeigniter_i18n slightly modified
CodeIgniter-Google-Maps-V3-API-Library

Now I'm switching to CI 3.0.6 and Ion_auth as authentication
Reply
#6

(This post was last modified: 05-24-2016, 07:40 AM by CallHimX.)

It depends on your needs and your project.
In my specific case, I'm maintaining some smaller Project-Management-Tools for company internal purposes.
The only external library I'm using is Ion_Auth for authentication. All the rest is selfmade according to the project needs.
And just for the record, this is my personal case.  Wink 

Sorry that I can't help you more.
Reply
#7

@stefano.corsi I tried to answer your private message, but your settings don't allow that.
Reply
#8

I'd note that Bonfire doesn't meet #5 on your list and *barely* meets #3. I say *barely* because most of Lonnie's attention has moved on to Sprint (https://github.com/ci-bonfire/Sprint) and, more recently, to CI4. Meanwhile, I have not had the time I would like to focus on the issues I would like to see resolved in Bonfire, and few other developers have shown a sustained interest (in terms of submitting code/fixes) in quite a while.

The pros:
- I don't think I've had to make significant changes to Bonfire itself to deal with any of the CI releases since we got it working with CI3.
- It does provide a solid set of features which are extremely useful for many types of websites.
- It gives you a lot of freedom on the public side of your website.
- Especially since getting it to work with CI3, wherever possible we override or extend rather than modify the CI core (though we do modify 3 CI files, because it was either impractical or impossible to achieve the same result in another way).

The cons:
- The admin pages are currently dependent on Bootstrap 2, and some of the HTML for the admin side is generated by a library which outputs HTML specific to Bootstrap 2. There is a branch which has updated this for Bootstrap 3 and probably works with Bootstrap 4, but I would prefer a long-term solution which removes the dependence on a specific CSS/JS framework for the admin pages.
- Some of the libraries and modules could use a lot of work (though they work well enough, the code could be improved).
- Although everything is made to be replaceable, it is not easy to extend any of the major functionality in Bonfire itself (this goes in part with the point above about improving the code).
- A lot of people group/equate Bonfire with CMS projects, but Bonfire does not include a CMS. It includes a lot of functionality which is helpful in trying to build a CMS, but you would still have a lot of work to do if you needed a CMS.

Also, since people seem to ask this about CI3 quite often, it might be worth mentioning that Bonfire does work with PHP7. It may not take full advantage of it (and, unless I'm still around to port it to CI4 some day, it probably never will take full advantage of PHP7), but I haven't found an issue running it under PHP7 in quite a while.
Reply
#9

Plus one for Ion Auth. And a huge overwhelming plus one for using Bootstrap for the front end. Do not underestimate how much work goes into bootstrap to make it compatible with hundreds of different types of phones, phablets, tablets, screen resolutions, etc. Unless you are working with a team of people dedicated just to the front end its about the only thing that will allow you to build confidently. And if you are starting now, then go directly to Bootstrap 4 alpha and embrace cards! If you do you will be way ahead. Cards are already here and they will become the dominant layout pattern very quickly.

Otherwise - I think you should do your own system - but with the idea that you are going to release it to the public.
In other words - keep the mindset that you can not put in a bunch of customized personalized shortcut code that only you understand.
Make it as clean, clear and direct as possible. Name your methods well and refactor until they do one thing well. Watch robert martin (uncle bob) clean code lectures on youtube for tips and inspiration.

The problem with a CMS is that it needs mountains of code to accomplish what a few simple templates can do. Anything that tries to automate
the process of building pages and layouts without any actual coding - adds so many complexities that you become a slave to the CMS. The code that it puts out is most probably not going to be very lean. Making changes is much more difficult. Really the only reason to use a CMS is because thats what the client uses and you are getting paid to use it or because you need to work with a large team.
Reply
#10

I build a verry large CMS for e-commerce and for business web sites using Ivan Tcholakov's Starter Edition 4. This is the best solution for start building applications with nice performance and lot various extensions included in!
Reply




Theme © iAndrew 2016 - Forum software by © MyBB