Seamless membership integration between Elgg 1.8 and Drupal 7 - php

How would I go about integrating the membership features of drupal with elgg social networking features?
I would presumably have them on subdomains and them people would use their already created account on my drupal site on my social section. Are there any plugins for this purpose? If not then where would be the best place to start.
I only have basic PHP knowledge so I am a bit new to this whole thing.
Amar

There are no public plugins, as far as I can find, to integrate Elgg and Drupal.
Integrating two pieces of software isn't really a hand-holding task, because you know how you want the two sites integrated better than any of us. Plus, it's usually a pretty big project in itself, and it's not easy to answer with a simple "do this and this."
If you feel like you have enough PHP knowledge to read a script and have a fair understanding of what's happening, you should look into the scripts of both Elgg and Drupal. Thoroughly study how both softwares operate, and how they develop their features. Look up everything you don't know about. Really think about how you can intertwine the features you want. This integration definitely won't be done in a day; prepare for weeks or months of your investment.
From personal experience, I recommend you select one software to be the "base," which the other software will conform to. For example, if you like how members are authenticated throughout Elgg and how each page is structured, consider conforming Drupal's features to Elgg's architecture.
If you feel like you're a pretty novice programmer, on the other hand, perhaps you should start with a smaller project to get the ropes of developing software. Create your own personal social networking site, or content management system. After all, integrating two pieces of software can be very similar to making one piece of software from scratch, since there's usually so much to alter.
Good luck!

Related

Pure PHP CMS or Laravel based CMS for web application development

I am setting my own software development company and I have to choose how to organize our work. We will have to develop website and web applications in general in the near future and I would like t organize the workflow in the way we don't loose more time then needed on development process.
My concern regarding the above, is to take one of the tons of PHP existing CMS out there and use it as a base for all the coming projects or take a Laravel CMS such as OctoberCMS, or similar and use it as a base project. The former gives me more choice, because there are many CMSs with a lot of modules and templates ready to use, the latter would be a great base either for small websites and also for more complex web applications, being Laraval a MVC framework it is ready for developing more complex web applications, but offers less functionality and modules (for example OctoberCMS provides a not very easy CMS tool for editing pages, which would be not suitable for my customers).
I would like to hear your suggestions and thoughts.
Thank you
I kinda had the same trouble months ago, and I ended up choosing the framework option.
After months developing and using Wordpress-based solutions for my clients I noticed that the start up of every single project was very fast (easy to install, lots of materials available for free or cheap) and enough satisfactory, but the hell arrived every time there were some more-than-little modifications (logics and design).
Using a framework with a pattern like MVC (I use Yii) may be more difficult at the beginning, but write, debug, and organize your code is far more fluid and satisfactory, on the long run. Even a module (cms) can be easily extended or rewrite with lesser effort than packed CMS solutions like Wordpress.
So, summing up: upvote for framework option.
I made the decision to switch from WordPress being my defacto platform for new projects when Laravel Framework v4 was released, much for the same reasons mentioned by #SomethingWicked. I also have a fundamental issue with Matt M. and WordPress Core development team, that WordPress is an Application Platform. It is not, it is a Content Management Platform. Purely because it takes too many liberties in making assumptions (biased to blogging and content management) for the user.
I am also a firm believer in the 12-Factor App (http://12factor.net), which WordPress makes very difficult, neigh impossible, to adhere to.

What is the difference between a CMS and a Framework? and how to choose between them for certain requirements?

I am currently working with Zend Framework and I am extremely happy with it. What I want to know is at what kind of requirements it is better to use CMS's like Joomla or Drupal.
Considering my current project it is a portal application. It is completely made from scratch in Zend. Then some fellow comes and comment that it rather implemented in drupal you could get plugins for the stuff you built by hard efforts.
So I need a guideline for how to choose between CMS and A Framework at the kickoff phase?
The question in your case is whether to use a ready made CMS or to create your own system using a framework. The right answer depends on the following:
budget
number of users you will have (long term performance concerns)
further maintenance
total number of details (bells and whistles) you want to provide on the site
implementation with third party/custom APIs
special/custom features that require high level of freedom (example: StackOverflow reward points and badgets)
As this is a question most of us face pretty often, here are cons and pros of a ready made CMS vs a framework:
Ready made CMS
Pros
faster start and development time if your project generally fits in what the CMS provides
available modules and themes
backed up by community, meaning that new features, bugfixes, support, tutorials etc. will be provided to you free of charge
unified set of standards - it's easier to continue working on an existing CMS site than to take someone else's custom application (this is relative, but the point is that in a site that uses an existing CMS most of the things/setup will be familiar to you while in a custom app the previous developer had more freedom)
security is something you do not need to worry that much as in a custom app
Cons
if your requirements are very specific, you will need to override the default workflow of the system; in some cases this can be tricky and will make you spend more time than to write your own
redundant code in modules/plugins
performance - a ready made CMS will rarely be as fast as a custom made application
not suitable for every large website (unless you fit in almost everything that the CMS provides)
steep learning curve in some cases (Typo3, Drupal)
Custom application
Pros
it's up to you to define the structure and the logic of the application
app design is made especially for the project you are working on - so there is no redundant code
freedom to do anything you want
Cons
expensive - in most cases you/your client will need much more money for a custom app
further maintenance will be harder
changes and modifications of the structure can be very time consuming
if you aren't using a CMF you will have to reinvent the wheel in some aspects
Bottom line
Spend a couple of days and learn something about the CMSs out there, such as:
Drupal - my first recommendation; good for medium to big websites; good community; medium/steep learning curve
WordPress - my second recommendation; good for small to medium sites
Typo3 - enterprise level system; pretty complex, combined with a framework which can be used standalone in projects
Joomla - I personally don't like it and do not recommend it because of amateur plugins, but it is popular
SilverStripe
MODX
Concrete5
I think that any bigger and serious project, which will have at least 1-2 programmers to take care of the system at all times, should be custom. Exceptions are only if it fits exactly in what an existing CMS offers already.
Hope this helps :)
Take a look at Difference between a CMS and a web-development-framework on StackExchange.com.
A CMS (Content Magagement System) is used to manage content on a website. It usually provides tools to make this task as easy as possible.
Examples of CMSes: Drupal, Joomla, DotNetNuke etc.
A framework is like a set of libraries / classes to build a web application. Many frameworks provide libraries for database access, templating engines etc. This way, you don't have to reinvent the wheel.
A CMS is often build upon a Framework.
Examples of frameworks: CodeIgniter, CakePHP, Kohana...
#Voles mentioned what CMS and Framework is
So your question is "guideline for how to choose between CMS and A Framework "
Want to build a Blog or a simple website ?
Go for Wordpress , Drupal etc.
Want to build next facebook or stackoverflow or app of your own which the current cms is hard for you to learn or is limited with the features?
Then go for some frameworks or custom made ones. Be sure that you know how to build it in the right way.
You can have a look into http://cmf.symfony.com/ also.
Hope that makes clear.
Apart from all pros and cons of CMS and Framework , According to me you need to study your requirement at the time of kickoff. List out the modules you want in your application. Now check that how many modules are available in CMS you know about like drupal , joomla , wordpress etc. and also check out that how much customization you need in this available modules as well as custom modules you may need to develop as per your requirement . And if you found out that with minimum customization you can use any particular CMS and than go for it.
But in case your application may very complex in nature than I suggest go for any MVC framework like Zend , Cakephp , codeigniter etc.
Yes one other thing go with any CMS or Framework that you well versed with it.
Framework is like a library by using this library we can develop new thing.
Whether CMS as name imply its an inbuilt source to manage the content.
Like wordpress we don't need to develop anything.
Framework are the creator of CMS , CMS is basically a Content Management System which focuses on content managing where everything is perfectly setup for you with few lines of code and logics ur website or small app can be developed
Whereas in framework its deeper than CMS everything you have to write from scratch or use existing library which is generally used for making big app. Hope this would help
As far as I know, CMSs and MVCs are web application frameworks with coding libraries. CMS is way easier to use for beginners, as it has its pre-made functionalities available, so you will not need complex coding. I found useful information in Wiredelta's article, maybe this will help for you as well: https://blog.wiredelta.com/cms-mvc-framework-comparison/
Difference
CMS: A content management system (CMS) is computer software used to manage the creation and modification of digital content (content management).
Framework: A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs.
A Framework offers a basic web application structure with a set of tools, to let you build your own web application, or even a CMS.
How to choose between them?
I have been working for many years with different open source CMSs (Much with CMS Made Simple, Prestashop. A bit with Drupal, Wordpress) and frameworks (Much with Symfony, a bit with Zend Framework).
My conclusion is:
If your requirements can be fulfilled with features of an open source CMS, and there are only a few custom requirements, use that CMS
If your requirements are complex and/or more custom, use a framework
Problems when using an open source CMS
Plugins often don’t provide all features you need
Community plugins
Have limited features. If you want to extend the features, you end up copying or modifying plugins, making them harder to update
May not be compatible with other plugins or even with the CMS version you have
Harder to debug since it's not the clean code of your team
May not be fully for free and come with additional costs
You spend a lot of time on searching and evaluating plugins
Own plugins
Limited CMS features (eg. missing dependency injection) may lead to unstructured coding
When your plugin gets more big and complex, you may start to ask yourself, why not having used a framework from the beginning
High learning curve, depending on the documentation, technologies used, and how many architectural rules you have to follow
Highly dependent on community
You may not get a fast answer or solution from the community
You may have to debug deep into hardly-to-read plugin or CMS code
Own fixes make updates difficult
Usability
Admins may get overwhelmed about default features, and may generate more support tasks for the developer, where a simple content editor for the admin would suffice

Use WordPress or Build From Scratch

I'm going to be building a website where people will be able to register, upload some digital content and make sales.
There will be features like users managing their own profiles, rating and commenting on other users' content, managing their digital inventory and integration with Paypal.
I've good experience with PHP, but I'm wondering if I could cut development time by using WordPress as a basis for the website instead of building from scratch or using a framework like CakePHP. What are peoples experiences with customizing WP (version 3 in particular) vs. coding from scratch in similar projects?
This sounds like a perfect use for Buddypress(http://buddypress.org/), a Wordpress plug-in. It adds user profiles and essentially allows them a Facebook-esque profile. Once the plug-in is installed you can get into the files and change things as you wish, so it's quite customisable, at least from my experience.
It really depends on the features you are building. I've had a lot of experience making WP do things other than blogging and if you don't know your way around it would be a hassle. I've also built a number of custom CMSs so I know about that route as well. If you're happy to allow users to use the WP admin panel for profile management etc. there shouldn't be too many problems.
The advantage you have with WP is the community - chances are whatever you're trying to do has been tried/done before so there should be an answer. Add to that the security features and vast library of plugins, and WP is a great choice.
It just depends on how complex your features are, and how comfortable you are with WP.
On the other hand, that has not been my experience. I've needed to add a user registration/security module but that wasn't stupid or frustrating, and other features have been valuable. But there is the usual learning curve. It's nice that it's ubiquitous and competition has worn off most of the warts.
We've built a couple of real estate sites using wordpress, but also sites where you can share your memories and stories. Wordpress is a real easy platform to use as a ground, sice all the basic functionality is already there, and also as #Tom Walters said, the community is really helpful.

Creating a new Social Networking site. Recommended framework for starting up?

Okay, so we are now developing a new Social Networking site where users will be able to add content, meet (and add new friends) new people, etc. However, we will also have a rating system like Stackoverflow has (The concept of badges). But there are a lot more features than just these, that we require (For example, retrieving content via Ajax, like on Facebook's more button at the bottom of your NewsFeed) I was thinking of making something from ground up, using CakePHP. But I am also confused if I should modify an existing open source Social Networking engine,like Elgg, instead. Will I be reinventing the wheel if I were to work on CakePHP? Development time is not a factor for me. Also could you contrast between the disadvantages (is security one of them?) between the options that I might possibly have (CakePHP vs Elgg vs Drupal vs anything else). I am more open to anything at this point too, Any suggestion would be much appreciated.
P.S - I know Drupal and Elgg are not frameworks, but to me, they look like viable options as well.
Thank you
The options are as vast as your potential needs for a reason: there isn't a single answer and the solution fitting my needs won't fit yours. I don't have much experience with fully featured engines like Elgg, but as I already know Drupal I know I'll seriously consider Drupal Commons. Drupal's learning curve is steep but it worths it. Drupal Commons is not a closed package, it builds and Drupal and its modularity. So you won't end up looking for scarce expertise with only a few good services providers available.
Being a Drupal dev myself, I'd say you'd have to consider Ruby on Rails. After all, Twitter was conceived with it as far as I know. Ruby on Rails is designed to get almost any idea fast to market. Drupal is a good content management system. Do yourself a favor and give RoR due consideration.
I try to make a social network engine use meteor, fspace , hope useful. :)

Which CMS as the basis for a custom web application [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm looking at building a custom web application for a client (a specialized auction site, in this case), and we're evaluating using some existing CMS as the "scaffold" for the application.
The justification is the fact that for many custom web application projects, some 70% of the code written goes in to adding CMS features, user management, and basic admin CRUD. Presumably, if we start with an existing CMS, then those to components will already be built.
We've decided to stick with PHP for distribution and deployment reasons. The top CMSes we're evaluating are Wordpress, Drupal, and Joomla. Here's our analysis so far (listed in order):
Wordpress
Pros: Dead-simple design. Extremely popular and understood. Very solid recent security history.
Cons: Perhaps a little too simple -- can it be made to work?
Drupal
Pros: Potentially more friendly to custom application development. Decent security history.
Cons: More complex and difficult to understand.
Joomla
Pros: Popular and well understood.
Cons: Some security concerns
Once of the biggest issues we're running up against, and what we hope to gain from the S.O. community is understanding how easily these can be customized to become a custom application. As an example, when the client goes into his administration area, will he get the impression that this is an, "auction site with a built-in wordpress CMS", or will it be a "wordpress site with an auction plugin"? We're hoping for the former rather than the latter. But can it be done?
Or perhaps are we looking in the wrong direction? Should we be looking instead at something like CakePHP? (Note that options like RoR and Django are off-the-table because of distribution and deployment reasons.)
Here are some related (but not identical) questions which have some useful information:
Using a CMS to Design a Web Application
CMS for custom application
This is a question we used to face regularly.
Our development arsenal consisted of Wordpress and CakePHP. We used the former where we could and the latter when we really had to.
Unless you're doing something really radical, you can probably do it with (something like) Wordpress. These days, the admin area can be heavily modified and custom taxonomies allow for meaningful entities rather than just posts and pages.
What you need to consider is the wealth of features and testing that comes with an established CMS package. Plus, Wordpress et al. have an enormous collection of plugins/extensions, which can take you even closer to where you need to be.
I guess what I'm saying is, you'd find it hard to convince me to drop back down into something like CakePHP.
EDIT: Six revisions have a great post on customising the admin area. Also, if you have specific wordpress queries, remember we have a really strong stackexchange site waiting for your question!
Unless you're doing something radical you're going to be better of using a CMS (in agreement with Tom Wright above).
I'll pitch in for Drupal. Its a extremely capable CMS that powers some world class websites like http://www.whitehouse.gov (The US President's Official website). That itself speaks volumes about its scalability, reliability and security.
Check out http://drupalsites.net to see a whole set of websites made in Drupal. Once in Drupal you'll have access to one of the most active communities out there for an open source project. This community has produced over 2000+ free modules (or add-ons) to meet requirements that cannot be fulfilled by vanilla Drupal.
It is true that Drupal has got a sharper learning curve than Joomla or Wordpress. But Drupal, I believe is more powerful than Wordpress and Joomla. Once you've mastered fundamentals of Drupal its easy to roll out features. The whole Drupal system just feels consistent. Some CMSes are an endless series of one-off modules that just need to be configured that way. Drupal has some powerful modules like Views and CCK, that, once mastered will help you accomplish so many things that would have required many different hacks/add-ons/custom programming in other CMSes.
Joomla has a reputation for being easier to learn but ultimately difficult for building truly complex and massive community based sites. Wordpress, though fast maturing with version 3.0 is still a ways away in being as feature rich as Drupal/Joomla. Then there are some other upcoming CMSes on the horizon -- check out Packtpub CMS awards -- you can see some good CMSes listed there.
Essentially it comes down to this -- CMSes like Drupal are built to accommodate mainstream website needs. If your site is not radical (today's twitter or foursquare equivalent) stick with Drupal/another CMS. The development times are just severely reduced. Only once you feel that what you are doing is not practical in a CMS should you choose a framework like Cake, Django etc.
I'll jump on the use a CMS bandwagon as well. There is simply no point in starting from scratch unless you have a truly unique app that doesn't need any of the stand user/content type stuff.
I would base my decision on how tech savvy the client is. I would tend to stay away from Wordpress as extending it is not nearly as simple as Drupal or Joomla. It takes a lot more work to get Wordpress to do the same thing and its feature set out of the box is very limited.
We generally go with Joomla because the admin is a lot easier to teach a client than Drupal. Drupal has better user management and access control out of the box than Joomla, but there are very good extensions that can give you both if necessary. I think the other advantage Joomla has is its MVC architecture and huge development community. Nearly 6000 GPL extensions and many more non-GPL. Add in a good CCK like K2 and the sky is the limit.
As for customizing the admin, we use a custom install for our commercial sites. It's branded with our logos and all of the Joomla stuff is removed. None of the core extensions that are unused show up in the admin and depending on the purpose of the site it can be made to look like an app with a built in CMS. None of the changes we've made touch the core and most are simple settings turning stuff on or off as needed. You can even take it a step further with a simple admin extensions that gives you granular control over what a user sees when logged in to the admin. We haven't felt the need for that though.
In the end, it's more about which CMS you feel the most comfortable coding extensions for. It's already been proven that all 3 can be made to do basically the same thing so pick the one you like the best.
Our company has a great experience in web-development, but it was decided recently to direct common energies to web-development based on Drupal development because only in case of Drupal developments customers get:
a web-site build on the safe system which is based on open source code, the system which is tested by million users all over the world. professional content management system;
it is more likely that possibilities of Drupal system are limited by developer’s imagination rather than facilities of Drupal itself; this will be a web-site with great performance and scalability;
confidence that CMS producer won’t disappear;
web-site with moderate price even if there is a need in development of some specific features which are not developed in Drupal yet;
new versions of Drupal core and its modules are available for free.
I would definitely go with ExpressionEngine. It's a very full-featured CMS, and using it's Query module and allowing PHP in templates, you can get pretty fine-tuned from within the CMS framework.
If you need more power, it's built on top of CodeIgniter, and developing add-ons for it is very easy for a decent developer.
It's not free, but it's pretty perfect and worth the cost ($300 for commercial sites).

Categories