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 in the planning stages for a new project involving eLearning and content management/delivery.
I've dabbled in Symfony2 before and I quite like it's flexibility and extensibility. But I have recently discovered EZ Publish is now running on the Symfony2 stack with version 5.
My question is, what does EZ bring to the table? Will it save me time and money in realising the end product? Or will it ultimately prove to be a hindrance if it is designed to be 'easy' rather than flexible?
Thoughts and suggestions are welcome :) Thanks for your time
It depends on how much of platform you will use for your custom logic.
If you will write most of code using Symfony components than you can use your bundles interchangeably in Symfony CMF, Symfony Standard Edition or EZ Publish.
If you want working CMS and write only handful of specific features independent of CMS functions than you can go with EZ Publish. But you still should write your code separated in bundles, so your custom logic is again nicely portable.
If you want to extend existing CMS features. Than you might want to go with Symfony CMF.
I would suggest to use Symfony CMF, which is the CMS for developers. EZ Publish is not totally migrated to Symfony, so you as a developer will still have to deal with legacy code. Also starting with Symfony Standard Edition to build a CMS you will have to build a lot of tools that are already built into Symfony CMF.
eZ Publish 5 brings you all the features you need when it comes to build a CMS based website. I'd say that 90% of the most important features from eZ Publish 4 have been migrated on Symfony2. You'll also get a really good admin interface.
eZ Publish 5 uses the full stack which makes a big difference when compared to others CMS like Drupal, especially if you need to build business features aside your CMS.
Also, the code quality of eZ Publish 5 is really good and tends to respect the last standards so you'll benefit from this choice one day or another : http://blog.insight.sensiolabs.com/2014/11/04/technical-debt-relevant-projects.html
Related
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 3 years ago.
Improve this question
Problem statement: Every service has a separate repository. what is the best way to use a common framework across several service repositories?
We are trying to create an API test automation framework using "Karate".
Here we want to create a framework(Which can be distributed(example:jar)) such that it can be used across all of the microservice project repositories.
As the creator of Karate, I strongly recommend you don't do this. In the long term this makes all your projects depend on one common framework - and you should try to reduce the creation of "home grown" frameworks. Especially for a testing framework, you should try not to force teams to depend on an additional library which you need to maintain and version-control. Re-use can cause more harm than good especially in the context of testing, see this article at the Google Testing Blog.
That said, since Karate can read files from the classpath: you can "ship" a JAR file with common Java classes and even feature or JS files that all your projects can inherit from or "re use". In fact the karate-base.js has been designed to solve for common bootstrap logic or variables / parameters being supplied from a JAR file.
Short Answer: use normal Java techniques (Maven / Gradle) to create a re-usable JAR file. There are multiple ways to use resources (Java, *.feature, JS) from a JAR file. It is up to you how to structure your Maven (or Gradle) projects to make this happen.
EDIT: for those looking for how to create a "runnable" JAR, please see https://stackoverflow.com/a/56553194/143475
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 8 years ago.
Improve this question
I have a lot of experience developing rich WPF applications (for CRM scenarios). I am a single developer and use Visual Studio with a TFS for revision control.
I have build a Framework which automatically takes care of the most basic tasks for me. To start a new (WPF) Application project all i have to do is:
create a new project
include references to my function libraries
defining the data structure in an XML file
inherit the new application Class from my custom Application class
My libraries include functionality for
backend creation and connection
a Main Window with user login and administrative/configuration options
custom controls
custom scheduling system for background task
etc. etc.
Every development step from that point out is specific to the current task/costumer/product. I can concentrate 100% on modeling and creating custom ui Pages for special purposes - an average project can contain as little as 100 lines of unique code. If i stumble over any reusable functionality whatsoever, i add that to my libraries.
I can deploy and update all Projects with literally one click. This enables me to handle many projects as a single developer.
My question is: how much of that "developing experience" can (I) translate to ASP.NET development.
I am uncertain of this because of the mix of technologies Javascript(jQuery)/HTML/VB.NET(or C#)
I am familiar enough with each of the languages and feel able to be working effectively with Servicestack after a little learning by doing.
But my biggest concern is: will I have just as much reusability as with my WPF development setup.
My biggest, dealbreaking-if-not-met goals are:
not ever "physically" copy any functionality - everything has to be linked from libraries
have a reusable "Main Page Layout/Setup" with login functionality - this also has to be in a library!
never leave Visual Studio as a Development environment
All my models/function libraries that i need to rely on (backend functionality and utility functions) are developed in .NET 2.0
Thank you very much for your input!
Edit for clarification:
I am not looking for the "Template" functionality of Visual Studio. I am well aware of this and using it where appropriate. This is not enough for me as changes/improvements/expansion of my libraries have to be reflected in all Projects - this also holds for the "Main/Start Page" functionality.
The built-in ASP.NET Templates from Visual Studio are actually a great example for what i do not want. They produce a very specific setup for your "new" application with a lot of autogenerated code - i.e. "physically copying" this code from a template to adjust to your needs.
What I want to do is every time when i start a new Project:
start on an "empty" ASP.NET Project
Create neccessary Cloud services (hosting/database/buckets) etc. in Azure (which VS incorporates very nicely)
include my needed libraries (that for example in turn include the neccessary servicestack libraries)
start modeling/designing specific needs for the new project
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
We're developing an e-commerce application with Symfony2. It will have different features like product, sales, customer, shipping management, etc..
And it will have 3 subsystems: Web Frontend, Admin and a RESTful API.
Should we organize our bundles by features or by subsystems?
Well, it's your choice! Traditionally, if you explore the vendor bundles that Symfony comes with and the 3rd-party bundles that are available, they are organized by feature.
For example, the Sonata Project starts with a core bundle and provides features in each of the other bundles.
What you should be more concerned about when splitting your system up into bundles is finding a way to de-couple them from the other bundles so that they can be re-used in other projects with minimal modification but more configuration instead! Your best approach (just an opinion of course) will be to make all of these features individually in the bundles and tie them all together with another bundle.
You may find that answers will become subjective depending on each developer's view on the matter.
We've developed an e-commerce solution with Sf2 and at the beginning we asked ourselves the very same questions. Should we organize our bundles around entities or sub-systems(admin, front …) ?
We decided to go for the features/entities solution and we embedded the sub-system in the bundle.
What made us take this decision is the possibility to attach functionalities to the core feature.
For instance, we created bundles like product, catalogs, order, customer … these are the basic bundles that you will find in any e-commerce solution. We also implemented a core bundle that ties them up.
But some of our client may want to use more functionnalities/plugins like tracking, assets/images, reporting.
These bundles are optional and if we give our client the code of the application, I don't want him to get the code of unwanted/unpaid plugins. So the features are split up in different bundles and they're linked by interfaces and config files.
The bundles also carry the sub-system applications like the administration panel. If the client does not have the tracking bundle, then the administration panel will not show the tracking interface because it is not activated in the kernel.
I hope this will help you make you mind.
Per symfony's documentation you can organize bundles in any way you see fit. So long you stick to the coding convention, and overall good coding practices. Especially if you plan to release this bundle to the public (which might not be the case in this scenario).
That said, I would advice against organizing your project by features because the number of features will always increase over time; whereas the number of subsystems in your project is more than likely to remain constant.
Take in consideration that a new bundle, is a new sub-project to manage, if you're using other bundles or libraries like Assetic, then you would need to enable every single bundle in the configuration, so the bigger the number of bundles, the more difficult it is to manage the overall project.
So, if I were in your position, I would break up the system in subsystems. Create a bundle that exposes a RESTful API, another for the Admin, and another for the Front-end.
Structure them in a way that every bundle can live on their own, just in case you need to deploy every sub-system of your project to different servers, so that is just as easy as striping them out of the main project, and integrate them into a new one.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
We are currently building a deal aggregator site. It collect deals from deal sites and present them in categories. Each deal presented in our website contains a photo, description, location, price and the url of the deal shop. Payments is done directly to the deal website so, our site is just a deal viewer without inner pages.
We decided to build it on an existing cms engine, to have all features such as management, searching, etc.
What cms you will suggest for it? Wordpress, Joomla or what? Any other information is appreciated.
Drupal is my choice. It has been working great for my case. I use the module from commerce guys. For my case the following were the basics:
Views
View mode (different from views)
Commerce I have been used it for 3 months now with no problem. They release also an expiration cart recently so you don't have to program it, just customize it. Also they have a simple module commerce stock if you don't need something very complicated.
Take a look for display suite in case you want to use the minimum templates.
The good thing about Drupal is how easy is to customize things. I worked in Joomla also. But I feel Drupal is in some ways more flexible. One feature I love about Drupal (not sure if others has it) is that when there is a security update or any update it display the notifications in your site.
You can find more information about those modules and see how they work. Here are my favorite links:
Commerce module
demo
videos of commerce module
Views
views simple introduction
Views Mode
view mode drupalconf
display suite
display suite conf in London
Drupal. This is what it is designed for and there are more online resources devoted to this CMS than any other.
Drupal is your best open source option. Lots of support and [relatively] painless deployment. Look at something like Refinery (Ruby on Rails) if you want more customization.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
Yes, I am aware one is a framework and the other a CMS.
However, I am a one man team that develops projects/websites for myself and I have a limited amount of time to get these projects off the ground, so speed is crucial.
Basically I am looking for the easiest and fastest method for creating web apps without being limited on features.
Would it be best/fastest to learn Codeigniter or to build off of Wordpress and develop my own themes/plugins? Possibly another option that would be more viable?
I deal a lot with video/photo media and high traffic websites.
Thanks!
I would suggest using CodeIgniter. The logic is simple, and it doesn't really have limitations, unlike WordPress. WordPress is designed for blogs, and if you are looking for flexibility, I would go with CodeIgniter.
CodeIgniter has one of the best documentation available as well. http://codeigniter.com/user_guide/index.html
If you are looking to learn CodeIgniter, NetTuts has some great tutorials, with different levels.
http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-1/
There are some nifty CodeIgniter libraries that can get you head start on your projects:
https://github.com/benedmunds/CodeIgniter-Ion-Auth - Ion Auth, CodeIgniter Authentication Library
http://www.kaydoo.co.uk/projects/backendpro - Backend Pro, designed to build admin side of your application.
If you are looking for CodeIgniter based blog/CMS, I would also suggest PyroCMS, one of the best I've used.
http://pyrocms.com/
CodeIgniter also has a great image manipulation library built in, so you won't have to learn too much about generic PHP image libraries.
http://codeigniter.com/user_guide/libraries/image_lib.html
If what you develop is web applications, especially for high-traffic sites, then why not to also consider Doctrine? It is a really good framework for developing webapps. Regarding WordPress - if what you need is mostly webapps with extensive user interaction and complex data structures - WP can't handle that efficiently due to lack of ORM and MVC pattern support (there are a couple of workarounds, but anyway).
And if you're open to learn new languages - also consider learning RubyOnRails and Django - both are awesome platforms, documented well and having awesome communities.
I agree with tpae. Definitely WP is not meant to be used for web apps. So forget about it.
CI is great, easy to learn, and in combo with Backbone.js and Phil's REST_Controller it's a beauty to work with :) You'll be building highly responsive web apps in no time (this sounds like a commercial :D )