Where is the missing Symfony Gallery - image

OK, so for a couple of weeks I've been getting to grips with Symfony. Coming from working with Drupal a lot and wanting more control I've really grasped a lot of Symfony concepts– great! However in trying to replicate and entity field type which allows multiple images to be attached to and removed from an entity I'm really banging my head against a brick wall with this.
We are talking about a Product with a Gallery or numerous other scenarios where many images would relate to one thing.
I've followed the Symfony Cookbook article on embedding forms and failed to get a usable instance of One product allowing upload of Many images.
I'm just a bit surprised that there isn't a bundle or even some better documentation out there to handle what I would of thought to be highly demanded functionality.
I've looked briefly at the CMF but to be honest I like the simplicity of the standalone Symfony system as it has a simplistic appeal for very small CMS sites and systems that don't require the concepts talked about in CMF. If I were after a lot of that functionality then I would sooner revert to Drupal or similar.
Can anyone shed any light on this?
BTW. I'm not interested in creating the product first and then creating multiple images and relating them to the product. I could figure this out if necessary. It needs to be driven via on create/edit form.

Related

Development methodology for CMS driven websites

This is quite a generic question, and I hope to hear what opinions people have on this, rather than a dedicated answer.
Ive been developing for about 6 years and have recently joined a new team. I am self taught. I have been given a project to develop a Magento driven ecommerce site, and a large portion focussing on editorial/blogging sections.
When I work with a CMS (i realise not CMS's work the same), to complete a project my methods have always been in the following order:
Develop the front-end (html, css, js).
Integrate front-end templates onto CMS
Compile CMS functions to fill out contents in placeholders on thos templates (replacing any dummy text etc).
Inject content.
When I explained this to my colleagues they looked horrified.
So they work a different way around:
Compile functions on CMS
Inject content.
Add styles (html templates, css, js etc).
Add to the equation, my scenario, the ecommerce website im developing must be responsive on devices.
So my question is, having I been doing this wrong for the last 6 years? Complete the front-end first? Or compile the front-end after?
I would really like to hear what people think about this. I am self taught, so have never had official training on development patterns such as this.
Thanks
It rather depends on the system used. Some systems allow you complete flexibility in the front-end, others (such as Magento) are more restrictive in what they allow.
At my company we usually use something akin to your preferred method; but I know that a partner of ours developed for Magento in the way of your colleagues.
So, my guess is that you both are right and that it is dependent on the choice of product.

Integrating an open source CMS framework into existing MVC3 / MVC4 sites [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I've been tasked with finding an open source CMS that can be integrated slowly into a set of existing websites. This way pages can be brought across to the CMS one by one with the site remaining live during the changeover.
Does anyone have any thoughts, experience or advice on what CMS solution would be suitable for solving the problem I've outlined above?
I've been trying out the various offerings for the last couple of days and have found the following options. But having very little experince of using a CMS it'd be really helpful to get other views on this from more experienced devs on what pit falls to avoid.
N2 CMS - A mature option, I've got this working but the documentation is really lacking. I've also found it difficult to find the minimum spec requirements for a database and also browser compatibility. I do however like the code structure for creating the template pages.
Phun CMS - this is a new open source project that I really like the look of in the way the programmer is approaching the problem and separating the concerns. It's probably far too new though to really look at at the moment.
Composite C1 - A mature CMS option, great documentation. However says that it only supports IE9+.
Umbraco - not tried yet but looks heavyweight
Piranha - not tried yet but nice website and documentation and also says that it's lightweight.
I'm the lead developer for Piranha CMS so maybe I can shed some light on what Piranha CMS is best at!
Our focus is content management and to have a transparent and lightweight API for developers. Piranha CMS has almost no components or helpers that render any HTML at all, it simply provides a database, a manager interface and a routing mechanism for retrieving the correct data for the current request.
In the case of you having an existing website you could actually bypass the routing completely, add one page at a time in the manager interface and then manually load the Page model in you existing page. This would allow you to keep your original application exactly the same but manage the content form the manager interface.
Hope you find the CMS you're looking for, and if you have any questions about Piranha feel free to contact me!
Another option of a full featured ASP.NET CMS is Orchard. But like all full featured CMS, you are stuck with initial learning curve about the CMS. You are also stuck with using that CMS once you are converted to it, so do all your research and basic site feature development before making the decision on CMS because it will be difficult once you are converted.
Phun CMS approach is different. Realizing that everyone site is customized, except for small things that you allow client to modify and do not need to get called in the middle of the night to make that modification, Phun CMS was born. Modern framework such as ASP.NET MVC already has all the CMS features: authentication, routing, razor templating/theming, etc... Phun CMS just provide a way to store your client dynamic content. You can still utilize everything you already know about ASP.NET MVC and Razor. But I'm also the Phun CMS author, so maybe my comment is (a bit, just a bit ;) biased on this topic.
If you want to go page-by-page I'd advise a setup where the new CMS tries to match all requests, if no match is found, instead of throwing a 404, redirect to the old instance (which can in turn return a generic 404 if needed).
I don't think this kind of solution is specific to any CMS, but check if you are able to modify the 404 page behaviour (really, you should in any mature CMS).
N2 CMS definitely fits the bill and it is particularly suited to integrating into an existing site bit-by-bit. It's lightweight and nice and responsive. It's also very developer friendly and doesn't force it's model on you.
The only problem is the one that you mention, that the documentation isn't the greatest so it's initially hard to get into. However, you'll find after that initial barrier it is very easy to get the hang of.

Starting a journey with CMS - which product will suits my requirements

I'm starting a journey with CMS. I would like to create a few simple web sites: my pastime blog, programmres blog (but I would be something more than just a plain blog) & three web sites: for my father's & uncle's shops + simple web sites that helps to learn English :)
When it comes to by programming background, I was PHP developer for 2 years so I thought I could use that experience. I found WordPress & Joomla as probably the two most popular platforms. However WordPress is usually recommended as best bloogging platform. What about being a CMS? So perhaps one of them is better as CMS? Or there's something else ever more suitable for my needs (Drupal)?
On every day basis I'm ASP .NET MVC 3 developer, so perhaps you could recommend a good MVC3, active CMS project?
EDIT: How about ASP Project: Orchard?
I would always advocate Drupal over Joomla for CMSs. They are similar in what they offer. WordPress in more beginner friendly but is (currently) less "customisable" and has a different, more blog-oriented, focus. Drupal is very full featured and is easy to manage and install. I believe Joomla is getting better with the release of 1.7 and/or 2.5LTS.
Drupal's community is more comprehensive and as such you get plenty of support. You can choose a very wide range of functional complexity with Drupal that you can't with WordPress. Joomla is similar in this regard but there are a few key things that I prefer from a development perspective with Drupal over Joomla:
Modules and plugins are more plug and play with Drupal and easier to manage.
When you develop a module in drupal you there are code "hooks" to bind to the core where as Joomla you extend the core
The drupal website admin is more intuitively designed and easier to manage modules etc.
Installation and update/upgrading of Drupal is more universally developer friendly (i.e. you don't need to be an expert and if you aren't you are not too likely to destroy your sites!). That said Joomla seems to be starting to follow Drupal more closely now so it will probably start getting better.
The main reason I would advocate Drupal for your needs it your requirement for a variation of functionality. You can enable and disable functionality very easily in Drupal and you can drag and drop themes etc. with ease. I use Joomla every day in work and my experience Drupal is king!
It's not very difficult to use WordPress as a CMS. A good resource is http://digwp.com/. The blog itself should help, but the Digging into WordPress book has a chapter about how to turn WordPress into a CMS. The great thing is you'll get a lifetime subscription of the book, so when new versions of the book come out, you will get the updated PDF for free.
My personal preference is with WordPress. It seems to have the largest user community, which means more answered questions, more plugins, more places to find cool themes, etc.
If you have PHP experience, it's probably your best bet.
As far as WP being a CMS, it has definitely goot the tools you need for a fully functioning website. A lot of the times I use WP as a CMS for clients, because it's so easy for them to catch on, and there is always a way for them to google any question they might have and find an answer without having to contact me for support.
Additionally, WP is great if you know some PHP code and can write your own custom plugins.
There are TONS you can do with it. Take a look at the most recent change log. It's got some great stuff.
http://wordpress.org/ for more info and download.
As far as ASP CMS, I've used Sitefinity in the past (only because I HAD to for work). I didn't find it to be nearly as intuitive as wordpress, and frankly I just don't like ASP. I find it to be clunky and not nearly as easy to modify and theme as PHP. Just my personal opinion of course.
Also, I'm not sure Sitefinity is free, so there is always that to consider. I'm not sure there are many free ASP CMS options as there are for PHP.
Although for simply blogging WordPress is the leading choice, for a CMS I would go with Joomla. There are many extensions that you can use with Joomla, the templates are very easy to edit if you have past experience with PHP, and the native CMS that it comes with is very verbose. Joomla has a strong community behind it, and they support many different aspects of a CMS and are constantly adding new features. Implementing a Blog in Joomla is very easy.
WordPress is certainly the leading choice... if you weren't wanting to use your developer skills. Writing a plugin for WordPress is rather agnostic to programming style (or ability), and is great for entry-level designers, but if you're looking to apply your MVC skills, of the two Joomla would be the choice.
The reason I say this is that Joomla more or less forces extensions to be MVC compliant. They also have a very strong and healthy community (the WP community in comparison is cut-throat, dog-eat-dog, the loudest-jackass-wins kind of a thing) and recently have abstracted the PHP framework layer away from the CMS, so if you're into really hardcore architectural web application coding, you can play with just its framework independently.
WordPress == get it done fast, elegantly (novice & designer focus)
Joomla == get it done right, with some work (business, programmer, and hobbyist focus)
Drupal == build every function of your site from the ground up, then rebuild it again when the next version comes out (engineer focused)
Bottom line is that you won't find good MVC driven CMS at this point in time. I have done very similar research and went through a range of vendors (both commercial and open source).
Yes, Orchard is available and based on your requirements it might be up to the job, however, I'd say that it's mainly for small size businesses that want some basic content management functionality.

Your thoughts on Fabrik as an application builder?

I've been tasked to develop a small web application for my company, and my initial plan was to use the Zend framework with Doctrine as this allowed for all the necessary features I needed. However, recently I came across a Joomla application builder called Fabrik which seems to have a lot of potential. My question is if anyone here has used it and if so, what your experiences were? Is it a stable, secure platform? Is it easy to use and does it allow for simple to more complex applications? And finally, how does it compare to one of the more established frameworks such as Zend or Cake etc. Any info regarding to your experiences would be appreciated.
I have not gone beyond a proof-of-concept using Fabrik, so I'm far from being an expert. What I've found so far is that Fabrik installs and configures easily in the Joomla environment and it's easy to get up and running. It's quite easy to get tables of output from the database and it's possible to do JOINs to combine data from multiple tables. The output format can be customized using CSS but I haven't been able to really customize the structure and I'm not sure it's possible to combine multiple tables into one report for example.
It's very easy to create a form that is an exact match of a table, so for data entry, it's very easy to set up a form to edit table data.
I haven't found it to be very flexible for creating a custom search form or a form that takes input from two drop-down list boxes and does a query based on the selected items in both lists.
The advanced search function that is provided is fairly powerful, but doesn't fit seamlessly into the Joomla environment so I think this feature needs to work to be something I would roll out to users.
Bottom line: Fabrik has been really well architected and will eventually be the most powerful and useful data management tool for Joomla, I just don't think it's quite there yet for providing a wide variety of forms and reports for end-users. It is still a very handy tool for more basic reports and for more tech savvy users to maintain data in a database.
Seen this question a bit too late, hope you have managed to solve your issues, but however, my several years experience with Fabrik and a few attempts on PHP frameworks such as Zend, Codeignitor etc, I can tell you Fabrik is the best RAD tool around. Especially now that version 3.x.x which works with latest Joomla 2.5.X is out. Offers so much power that you can have a very powerful system done within one night.

MVC3 - lightweight CMS that can be added to existing application?

I'm trying to find a CMS that can be incorporated into an existing MVC3 app.
I've played with N2, and can't get the damn thing to work in VS2010 or with .NET 4.
Umbarco doesn't appear to support MVC yet
Orchard looks great, but wants to own the whole application.
DNN is just a mess.
Any other brilliant solutions?
Post-mortem Dec 2011
This is an old post, but I thought I'd share my experiences with Orchard, and why I decided to go a different direction.
NHibernate
Aside from the very large number of transactions per page (literally dozens in some cases), each and every query was executed using sp_executesql. While not quite as bad as using Exec(), this rubs me the wrong way. Currently, my database is locked down so that applications can only execute stored procedures - that is, they can't perform select/update/delete, list entities such as tables, get any metadata, etc. This is a requirement for tier-wise unit testing, compile-time verification of the database, security and encapsulation of database logic from the application code.
Source Deployment
Orchard requires that the entire source for your site (views, .cs source files, etc) is deployed to the production server. The sheer number of source files that need to deployed boggles the mind.
Integration with an existing application
The manner in which Orchard is structured effectively requires it to be the point of entry for the web application. This means that you're going to spend some time modifying and reimplementing your app to get it to play nice with Orchard.
Conclusion
There were quite a few other issues that I encountered, but those are the highlights. Individually, each of those could have been a deal breaker. Together, they removed Orchard as a viable solution.
I'm now evaluating Telerik's Sitefinity. It's not MVC, which saddens me, but:
The admin interface is extremely powerful. Aside from a master page and some stylesheets that I put together in VS, we've been able to handle all of the layout via Sitefinity's admin tools.
I mean, it's really powerful. You can use the admin interface to edit the admin interface. Think about that for a minute.
Widgets are implemented as ASP.NET user controls. Most of my existing controls just dropped right in with zero modifications.
Database access is handled via Telerik's OpenAccess ORM. While Sitefinity doesn't natively use stored procedures, OpenAccess fully supports using them for all operations. Also, according to Telerik, OpenAccess does not, in any way, rely on reflection, which provides significant performance benefits in heavy-load apps.
There are several solutions available for using Razor markup within widgets, which is one of the great benefits (to me) of using MVC. Also, I've been told that native Razor support is in active development.
It's not free. In reality, however, a few grand barely breaks the noise floor in terms of development time.
Super crazy fast. Startup time is a bit on the slow side, but once it's running, it's very quick.
Built on top of Telerik's awesome, proven RAD controls.
Apologies for the long post. Hopefully this will be helpful.
You might find these projects useful. You can probably model a simple CMS based on one of their projects.
MvcCms
MvcMS
Atomic CMS
Mytrip.mvc
Try Web Noodles..The new CMS developed using mvc3. WebNoodles.It is easy to integrate .But the thing is it is still in beta stage..But you must give it a try ...

Resources