We are developing CMS based in nette for our company and we have to design it to be plugin based for our clients. Something like wordpress but custom for our needs. Is there some easy way in nette to build system that will check updates and have some "plugin store" with automatic instalation without, so the user won't have to edit the code?
I think you should check how other CMS 'plugin based' systems deal with that and you probably find the answer (cause this is independent of nette or other frameworks). In general, you need to have some server that store plugins and same server can be used for plugin auto updates. Auto updating can be triggered with cron or after some user visit page (some action that is defined in CMS[some hook] trigger auto update of a plugin). Same principle can be used for updating core of the CMS or a theme.
Related
The idea is not new, like Wordpress, Oxwall : a platform created by some guru guy that allowing other dev guys to add new apps (like forum, blog, market-place, whatever) into the platform easily. By easy, we mean either just install new plugin by upload or less user friendly coding new plugin without changing the core code.
Actually, we have a working solution with angular1 but quite clumsy, that's it, multiple stand-alone ng-app within a website, like:
domain.com/forum-spa
domain.com/dating-app-spa
..etc..
Good thing about it is quite straightforward to implement, not much to worry about lazy-loading. But we are not happy with that approach for many reasons.
Angular2 is really close. We hope it can bring a better solution for building a large web platform
iframe
custom components that are added at build time that are added depending on user data like explained in Angular 2 dynamic tabs with user-click chosen components
This approach is compatible with the offline template compiler
There is also a more flexible way that supports user-provided component templates How to realize website with hundreds of pages in Angular2
This approach is not compatible with the offline template compiler and requires the Angular parser and compiler to be included in the build output.
As a Joomla (novice) developer, I'm concerned about why we really need modules to create our own forms. I'm definitely not an authority on the subject when it comes to Joomla but here's my issue.
I understand (through hands-on discovery) that we can create forms using two ways (without additional custom modules).
By writing the form content straight in the index.php page, then checking for submit using PHP.
By inserting the HTML content for the form as a CustomHTML article using the admin back-end. Then have a separate PHP page to do the processing and return back to a specific landing page.
First I'm not sure if the above methods are considered sane in the joomla world but I do think they're workable.
If so, why do we need to run through rough seas trying to download and install form-builder plug-ins and write code that looks pretty absurd with so many files.
The first solution you mentioned is the worst that could be done. Editing the index.php should never be done. If an update for the template is bought out and you install it, it will override your changes.
The second point you mentioned is also a bad idea. There is no point in using separate PHP pages if you're using the Joomla CMS.
Stick to Joomla standards and create a custom module (not custom HTML module) either by coding it yourself or getting started with a Module Generator.
The whole point of using a CMS is to make life easier. A Joomla site is built of of Components, Modules and Plugins.
Components are like applications such as a Forum, e-commerce system etc. Modules are like widgets such as a twitter feed, shoutbox etc.
Plugins change the behavior of something.
why do we need to run through rough seas trying to download and
install form-builder plug-in?
Trying to download and install a form builder is not difficult at all. Simple go to the Joomla Extensions Directory, go the the necessary category, click on an extension that suits your needs, download and install it and voilà.
I'm currently in the process of building a wordpress multi-site for a client. I've completed aspect #1, which was creating Theme-1. Theme-1 was built utilizing excessive amounts of the AdvancedCustomFields PLUGIN.
I'm working to build Theme-2, this one is the primary theme that will be utilized for all of the sub-sites created through the multi-site option. The issue I'm having is that the AdvancedCustomFields are no longer an option, I need to build all of the customization into the functions.php file directly.
Is it possible to create custom fields through the theme directly - without utilizing a plugin?
I need the theme pages to have "Left Side" "Right Side" "Footer" as WYSIWYG editors. So if someone goes to create a new page all of these field settings are there by default.
Is this possible?
It's possible, using the wp_editor function to get the WYSIWYG functionality. See this question on the WordPress stackexchange site. It's demonstrated as a plugin, but you could just as easily put the code in your theme.
I want to create a dynamics crm solution that will be imported by the customer.
After import, the user must complete some settings in a custom entity. After this, a specific code must run for these new settings, but only once. I cannot use custom workflows because it has to work in the online crm too.
The best would have been to have a synchronous plugin that is registered to execute when the settings are saved. I cannot do this because plugins can be registered for a limited set of entities, custom entities are not supported (am I right on this?).
What alternatives do I have?
Using a Configuration Page for your solution might make it easier for the user to configure. Instead of making the user manually set up a configuration entity, use Javascript in the Configuration Page web resource to hit the REST endpoint and do the setup for you. You might also be able to run your custom setup code using Javascript (or use a plugin on the configuration entity as ckeller has confirmed). Here's a link about the special Configuration Page:
http://mahenderpal.wordpress.com/2011/07/26/step-by-step-adding-configuration-page-in-solution-ms-crm-2011/
We are considering purchasing Sitefinity (or DotNetNuke) on pretty short notice and there are is a question I have that I am having trouble finding a quick answer to. (I have a separate but similar post with DotNetNuke as the focus, if you can answer that better or in addition.)
We are currently not using any CMS at all and we have some custom development that will not go away just because we go with a CMS for some or most of our site.
Our custom development is c# ASPX with Site Master and nested Site Master pages. These custom apps do not own their own top level in our web site, but are part of a branch, typically one or two levels down (for example, http://www.contoso.com/branch/app/default.aspx).
How is Sitefinity typically configured in a CMS/Custom “mixed mode”? For example, is Sitefinity installed at the “top” of the web site, or “where needed” down in the web site.
How does this relate when mixing CMS and custom web applications?
Does the CMS interface allow for adding these custom apps or do you just go to the web server and add them to the structure?
It appears from reading other posts, we can create our own custom c# modules and have CMS editors “drop in” the modules on the pages. Can someone confirm that for me?
If I did not provide enough detail, please feel free to ask for more.
We have Sitefinity installed at the root with plenty of subfolders containing custom pages. We typically build a usercontrol, add it to the sitefinity ToolboxesConfig.config file, then drag/drop it into a sitefinity CMS page. I believe this is what you're talking about regarding having "CMS editors drop in modules on the pages".
We also have master/child pages that are imported as page templates into Sitefinity and they work well. You can also link from any CMS page to a regular .aspx page out in a subfolder of your own and implement code there that uses the sitefinity API, but we personally found this much more tricky and veered away from this approach whenever possible.
So in a nutshell, custom code is relatively easy to integrate into sitefinity as long as you can condense it into a user control or master page.
Disclaimer: This was all done with regular web forms development. I'm not sure how an MVC site would interact with Sitefinity (which I believe is built using an MVC architecture itself anyway).
The part of your question I'm unsure of is regarding the custom webapps in nested branches. I would recommend installing the trial version of sitefinity and trying to get a single branch integrated as a prototype. This might take a day, but it would be worth it to know if the sitefinity route is going to give you heartache.
Full disclaimer: I work on Sitefinity.
First, let me say that throughout the history of Sitefinity, extensibility and developer-friendliness have been our top priorities. We've tried to create a CMS that uses concepts familiar to ASP.NET developers and build on top of them.
Now let me go through each of your points.
You can organize Sitefinity deployment however you like. In your case with sub-apps, you can either create virtual directories in IIS and deploy separate instances of Sitefinity in each of them, or you can use the CMS to do the sub-apps. In the CMS they can be separate branches of pages, have separate templates applied and feel like separate sites. You'll still manage them through one interface. It is up to you to choose an approach.
Sitefinity is a normal ASP.NET web application with the CMS assemblies in the BIN folder. You can open the project in Visual Studio and run it like a normal ASP.NET Web app. From a developer viewpoint, there's no difference between a custom app and a Sitefinity app - they are just ASP.NET web apps.
If you follow an approach of installing Sitefinity in the root and then using the CMS to create sub-apps, you can do it through the UI. If you choose to run separate virtual directories, you have to manually upload the files. Also, Sitefinity has a built-in File explorer, which you can use to manage the files on the server.
The modules you are referring to are called widgets in Sitefinity. For a developer, they are nothing more than custom ASP.NET controls and user controls. The Sitefinity page editor UI allows you to drop widgets in placeholders on a page and configure their properties. The placeholders are defined in a masterpage (a normal ASP.NET masterpage) or through the UI.
It is very easy to create custom widgets. Here's a Quick Start: http://www.sitefinity.com/blogs/gabesumner/posts/11-08-29/ldquo_hello_world_rdquo_guide_to_custom_sitefinity_widgets_amp_controldesigners.aspx
We also have modules, which are a little more complicated concepts. They manage data, have backend and frontend UI. I encourage you to go through our blogs and documentation for further info.
We also have an SDK, containing samples with source code for extensions to the CMS.
You may want to look at Kentico CMS that supports similar scenarios - you can easily mix your own ASPX pages and CMS-controlled ASPX pages, so it's very flexible.