I have seen lots of pages about Yii Boilerplate setup like: http://www.yiiframework.com/wiki/374/yiiboilerplate-setup-a-professional-project-structure-in-seconds/.
Is there any step by step instruction about creating a new basic YiiBoilerPlate app or maybe I am totally wrong about it!?!?!
Just build your app to fit your needs remembering to keep project specific files in separate folders, separate from base application components, like common extensions. I highly recommend using modules. You can have for example user management module with login, logout, profile etc. functionality, and depending on concrete project requirements just drop in more modules.
Mentioned boilerplate is more complex than standard Yii setup. There is one thing i really dont like, is that mudules are in both frontend and backend, and according to yii philosofy, module should be like mini application, so from this boilerplate seems that one should build separate mini apps for frontend and backend... But it is just a taste what you feel better.
If you are new i recommend standard setup, but using modules from beginning. Modules are something like mini app, which can operate on it's own. This way you can build your portfolio of modules, and then when doing some new project you can compose it much quicker and sturdier. A bit more tricki might be interoperability between modules, but thats a whole different story.
You should refer following article.
http://myprogrammingtut.blogspot.in/2013/04/step-by-step-setup-yiiboilerplate.html
which worked for me :)
Hope it'll help you.
Related
I have experience with Joomla and have modified and wrote some simple Joomla extensions. I don't have experience using one of the popular PHP frameworks (such as CakePHP), but I was thinking about using the Joomla framework because I'm familiar with Joomla. How would I use the Joomla framework for a software project instead of using regular Joomla and writing the extensions needed for it to extend it's capabilities? Thanks!
The basic idea is that you:
Get a copy of either the whole framework or just the packages you need+dependencies (from github or composer) or use the older copy that is shipped with the CMS,
Bootstrap your application (JApplicationWeb or JApplicationCli).
Write your code using the MVC structure provided.
The big difference with writing a totally independent application is that you are doing just that, you need to build everything in the application whereas in the CMS there are already a lot of things in place. (The good part of that is that you can make new code with no legacy concerns.) For example, if you look at the JIssues project you'll see that they had to think about things like authentication. So as you would expect writing a simple application is simple, writing a complex one is complex.
You can see many examples of framework applications around, ranging from the ones found in the CLI folder of your CMS installation to JIssues, and of course the three web applications in the CMS are all examples of applications on the framework.
The Joomla Framework is intended (among other things) to be the platform upon which you can build a web-application. The framework is like the frame of one of those motorcycles they build on "American Choppers." It provides the backdrop so that you can hit the ground thinking about your app without worrying about User Authentication, database connection, and a thousand other things like those that get in the way of bringing your app to its potential audience.
If you're trying to extend Joomla, the current edition is what you should be using.
I'm putting together a dashboard for a backend to a CMS project made with Codeigniter. There is some navigation in a sidebar and I"m trying to figure out what I need to know making "modules". I have two types of users. Administrators and basic users. They share the same sidebar navigation. Admins can see all links in the navigation and basic users can only see some. I was trying to look at a few different CMS's to see how they do it and really like how PyroCMS does it with putting together their navigation. However, I"m trying to find out what really tells me what I should makes a module. I know it has its own controllers, models, views and etc. I'm trying to find out with research what I need to know to really know what should I make into a module. Are their questions I should I should be asking myself that will be able to tell me what has the possibility of being a module and what isn't.
CMS Admin_Controller Line 80
Module development with PyroCMS is the way to go if you're used to working in CodeIgniter.
Becoming acclimated will be intuitive as a CI programmer, create a new module (drop it in your *addons/shared_addons/modules* folder):
https://github.com/pyrocms/sample
And notice how the routing works:
http://docs.pyrocms.com/2.2/manual/developers/basics/modular-routing
Then take a looksee at MY_Model (system/cms/core) that PyroCMS includes. I wrote a few modules before realizing PyroCMS includes a basic model that will save you from writing a lot of extraneous code. Don't worry, you can still always choose extend CI_Model instead if you don't want to use MY_Model for a module.
The more you learn about the mechanics of PyroCMS, the more you realize it has no limits. Unless you're writing trivial apps or just like re-writing code, I wouldn't start any new project in CI because PyroCMS is the more sensible starting point.
If there is something more advanced that the documentation doesn't answer for you. Then SNOOP AROUND! All the core features are built as modules. Check out how they did it in one of the core modules (system/cms/modules/). And if you want to change something in the core, you can avoid make any changes to the core by overloading views.
Once you're confident with your ported CI App, I would check out Streams. Streams will dramatically increase the time it takes to write trivial CRUD modules. If you're as happy as I've been with Pyro, you won't mind shelling out the lettuce to buy PyroCMS Pro or Streams.
I'm working on a web application in Codeigniter. I'd like to integrate the functionality of my application with a CMS so that site admins can easily update the site (about pages, blog, etc). Is this easily done with PyroCMS or another Codeigniter-based CMS? Will I need to drastically restructure my existing app?
From my own experience integrating an app inside Expression Engine I can say that a CMS changes the way you usually work with CI. So be prepared to make some adjustments. Every CMS will come with it's perks and differences. It shouldn't be a big problem though.
If you want to use PyroCms take a look at this doc first:
http://www.pyrocms.com/docs/2.0/developers/creating-custom-modules
If you're looking for alternatives, there are a lot. It seems almost everyone working with CI has made it's own.
Here are a few:
http://www.ionizecms.com/
http://www.halogy.com/
http://codefight.org/
http://www.getfuelcms.com/
Also make sure you check out CI Bonfire, it's not a CMS but does help you when you start up a new project with a basic admin wrapper, which is sometimes more useful than a CMS:
http://cibonfire.com/
This was answered a year ago and answered well, but my support guy has forwarded me a few emails from users asking about this page.
When people talk about Content Management Systems they often suddenly get the idea of rigid backends where you applications have to follow specific rules. While PyroCMS certainly has a few conventions you are free to build your modules just like they are a CodeIgniter application, on the frontend or the backend.
If you want to use Models, Controllers, Views, REST API's, SOAP, whatever the hell, then you can do that.
But, we also offer some awesome tools to make building modules CRAZY-fast. Hate writing CRUD? Well don't bother. Using the Streams API you can leverage the build in "Custom Data" system we use to rock out chunks of interface for you.
Using PyroCMS for your application is certainly not "hacking it into a CMS", this is the exact use-case it was built for.
If you have an existing application, while you can't "put PyroCMS into your app" you can certainly convert your application to a module easy enough.
The simplest way of doing it is to write your models around the CMS' database. Host the CMS at a subdomain with authentication for your admins. (admin.mysite.com) or something and then use the same database to power your front-end for your site.
Is it the best approach? Probably not.
Will it work? Yes.
You will probably find it hard to expand vertically & add new features if you're relying on a 3rd party CMS for data entry & backend.
We have a project to build a web application that has many features like: google maps integration, item review and rating (something like eBay rating), chatting among users, content search based on content calculated value, integration with Facebook (for login, liking the content, fetch user's friends...etc),batch and real-time notification through SMS and email and many others.
We have two candidates for this zend and drupal, I tried to search a detailed
comparison between them without luck; only found high level stuffs.
Our criteria is to use a product which will not require lots of custom development and satisfies most of out needs out of the box, and it should be reliable and easy to maintain and extend in the future.
I would really appreciate if someone can shed some light on zend vs drupal comparison and point me to any useful recent analysis already done in this.
What are the real strengths of zend ?
Thanks in advance and best regards
Drupal is easier to have a project up and running with, it is a fully working web application out of the box. The flexibility of Drupal is pretty good, but be aware that using such a "pre-built application" type of framework tends to make the hard things easy to do, and the easy things hard to do.
Zend Framework, on the other hand offers much more flexibility, but at the cost of having to write things up from scratch yourself.
Actually, you are to choose from two different solutions. They are both used for building sites, but on a different level.
Base on the following:
Our criteria is to use a product which
will not require lots of custom
development and satisfies most of out
needs out of the box, and it should be
reliable and easy to maintain and
extend in the future.
I think you should choose Drupal. This is why:
Zend Framework is PHP framework, which enables you to build applications almost from scratch - you need to put some effort to reach the phase when you are able to actually use the application,
Drupal is Content Management Framework, that helps you build CMS system on the basis of your modules - only thing you need to start using base features is to install Drupal,
both Zend Framework and Drupal are extensible, but Zend Framework is much more extensible. Drupal has some architecture that should be followed and you can not do much about it (unless you really have time and resources to change it significantly and then be your own support, updating the core), but since you need "just extensibility" (not some major one), Drupal still meets your needs,
there are plenty of modules allowing you to add needed features to your application on both Zend Framework and Drupal, but in Drupal it is just as simple as copying the files and configuring it through the interface - there is usually nothing that has to be performed by developers,
You have to be aware also, that because of some architectural restrictions you should first analyze, whether Drupal is really suitable for your solutions. If you think the traffic will be heavy and you need different base concepts (user management, content management?), you probably should think about choosing more resource-consuming solution (which is Zend Framework).
Zend is an application framework while Drupal is more of a content management system (with some framework characteristics). That makes it difficult to compare them beyond those definitions.
Our criteria is to use a product which
will not require lots of custom
development and satisfies most of out
needs out of the box, and it should be
reliable and easy to maintain and
extend in the future.
There's no magic bullet for that but most of your criteria (pre-built modules) puts you firmly in the Drupal camp. It employ modules that you can plugin and config.
Drupal offers both the functionality of a framework (through modules and its API), and Drupal offers ready-made functionality. The trick is knowing Drupal very well.
Pre-made functionality in Drupal can be overridden through hooks, or you can find workarounds that DO NOT require modifying other modules, but sometimes this requires a lot of experience with the inner-workings of Drupal, for maximum control.
One major hurdle is deciding when to write in-house modules, or turn on modules provided in core or contrib. The problem (for me) is resisting the siren's call to use every module that Drupal provides either in core or in contrib.
Another technique is to turn on a module, and use the functions and data that the module provides, and create your own functionality on top of (or replacing) the functionality provided by the core or contrib modules.
With Zend, well they offer a very good set of classes but every page including admin pages, and features like caching, and routing will need to be built from scratch. In some ways this can be a good thing if it can get you away from the siren's call of wanting to use ready-made Drupal modules.
On the other hand, you own everything you have to make from scratch. With a community like Drupal, you can be part of a community that shares in development efforts.
We are building a custom application using LAMP with P being PHP. We also need to have CMS to manage various aspects of the site. The two options for the CMS are
Build a complete custom CMS from scratch
Extend an existing open source CMS to fit our needs. This way we can use some of the features out of the box and others we will build ourselves.
I would like to get your feedback on the following
What are your experiences with option number 2?
Which CMS would you recommend that we can further customize and extend for our use?
What are the best ways to integrate a custom application with other external CMS?
I really like the MVC approach for a CMS (you did mention extending), and PyroCMS is built on Codeigniter. It might not (out of the box) serve all of your needs, but easily could. Its worth a look, at the least.
A whole set of CMS are available nowadays, everyone with its own pros and cons.
I guess the first step in your case is to make a list of the features that you:
MUST HAVE
SHOULD HAVE
COULD HAVE
Once you have this list, you'll be able to compare the existing CMSs to see which one better fits your needs.
There's no a best CMS (otherwise everyone would use the same).
Said this, Joomla offers a powerful base system, easily extensible. But this is just my modest opinion. Right now, 4712 extensions exist for this CMS. If you still can't find all you need, it's possible to implement your own extensions (in terms of plugins, components and modules). See the developers section for more information.
I've recommended ModX in response to previous questions
It provides a nice clean framework which is simple to install and is easy customize.
For your situation I think ModX is a strong contender as it allows you to embed your own php code in your site using snippets - Bob's guide on snippets is a good overview. The snippets can be managed through the backend web manager and they can easily be dropped into any pages as required.
Larger applications can be setup as modules, this is similar to many of the other main stream CMS's, it's just that in ModX the web based control makes the management of the code a simple task.