Could I use a pre-built CMS or should I build one from the ground-up? - asp.net

I am working on a project for a client that started out as a simple CMS with pages, posts, and a directory. The client is constantly expanding the scope of this project with requirements for customization of just about everything. As a single developer, I am having trouble keeping up with the clients time-table. I have googled for software packages that might already exist that proved the features my client needs but I have not found anything. Does anyone know of any pre-built software that allows for the following customization or at least better words to describe this type of package?
Here are some examples of the customization that is requested:
A page or directory listing needs to be formatted from an admin-defined template. Within this template there needs to be admin-defined sections that contain admin-defined data types. (This is so the look and feel of the site can be maintained while users can easily build content, add listings, and etc.)
Advertising-tiles need to be able to be defined and populated globally and at page level.
All user generated content, pages, posts, and directory listings need to be associated with user and have flexibility to show all other user generated content for inter-linking between same users content.
Site would need billing/e-commerce system for premium listings, premium posts, advertising tiles, and etc.
Approval system for all user added or edited content (pages, posts, directory listings, etc.)
(asp.net and mvc are definitely preferable)

Site would need billing/e-commerce system
This is the number one reason you should not roll your own. Find an established CMS and take the time to learn to use it.

My dear friend, I've read your question & I may suggest that you should try some open-source CMS software with your own which can generate, display admin-generated templates & other stuffs. You should use the
Pre-bulit CMS software for keeping track of pages.
Your own small customized cms for maintaining templates.
osCommerce (open-source) for eCommerce support.

I've not had a change to use it, and I'm not sure if it will provide for you all of your demands or not, but I've heard a lot of great things about the project. Have you tried the open source project Drupal?

Related

How does multi-language support work in a platform like Drupal 8?

I am attempting to scope a website for a client who wants to have a site that will feature multiple language options. They also want it to be a CMS. I am reading that core initiatives for platforms like Joomla, Drupal, etc. are multi-language support, but I am wondering exactly how this works.
My question is on how the translated content gets generated and delivered within these platforms. Would these platforms just check for a language code, then based off that code, print out the Japanese version of the node? The English version of the node? So essentially, for however many languages I'd like to have, I'd have to create an individual page (node) for that specific language that mirrors say, English? So an install with a 10 English pages would also need the same 10 pages with nodes for the Japanese version?
For the admin's sake, would I be better off just setting up multiple Drupal installs in different subdomains or something? So the Japanese admin would visit jp.mysite.com/user and only have access to the Japanese database? And same for the English admin?
I guess essentially what I am asking, is if it is better to just duplicate my install on multiple boxes, or have one install on one box with a bunch of "duplicate nodes" that essentially mirror each other, but have different languages within them?
I can't speak to Drupal, but with Joomla - there are languages you can install on the backend (which are pulled from community added locale files I believe)
When you do switch it, you should see a message like "Default Language Saved".
This does not affect users that have chosen a specific language on their profile or on the login page.
However, when using the multilanguage functionality (i.e. when the plugin System - Languagefilter is enabled) the Site Default Language has to also be a published Content language.
So ultimately - use one install. Multiple installs would be a bit silly - especially considering these CMS are designed to have that functionality.
For Drupal, my recommendation would be creating only one site with multilingual support. You have the ability of deciding how you want your site to behave when there is no translation, like showing the original node, or hiding the page completely from the users if you have different menus per language.
Administration would be easier, and content edition probably too.
You can still use subdomains per language if you want to with a single site, that's a feature out of the box with Drupal. You can set up that in the language negotiation page, which is quite flexible in terms of how to perform negotiation of the content and interface languages you want to use.

WordPress Permissions Roles Manager?

I´m currently developing the Intranet for the company I am working for. The site is currently based on SharePoint, but I have to migrate it to Wordpress. And that´s my first developer experience with Wordpress, you just should know. Creating the theme, content and working with the WP Admin area works very well, but where I´m feeling defenseless is the permissions topic.
Generally, the whole page content is managed by the Marketing department. So, for me it is ok that they have access to WP Admin and I would use one of the predefined roles available.
But there will be also an area for the departments where specified users per department should be able to
edit the pre created page content
add subpages and edit its content (it would be nice if it can be defined which page templates can be selected by the user)
add posts for a pre created category (that should not be changeable by the user)
edit its profile and password
A whole access to WP Admin should be therefore prevented.
I read much information about roles, capabilities and reviewed forums and blogs presenting potential plugins. But to be honest, I´ve lost the overview and I´m totally scared about what´s the right way to do such like this the professional way.
Is there anybody who was already in such a situation or knows a good resource where to read more?
Thanks a lot.
John
PressPermit is the tool I choosed. It covers all needs described in my question.
Note: To use all features, you need to buy a support subscription currently available for $55 a year for one site.
However, a very powerful tool and in comparison to Advanced Access Manager I tried before, it really supports permissions also for multiple roles.
If you are thinking about, use the screencasts to see if the tool cover your needs. Unfortunately, there is no trial available, but you can request an evolution wordpress installation which was setup within one day in my case. This service costs $5.

Using wordpress as external content management system

We are planning to create an asp.net website (probably mvc), that needs a cms for news items.
Our content managers and others who require to publish news have asked if they can use wordpress for content management.
Our users have different roles, and news items should be visible to certain roles, or even specific users if possible.
The reason they want wordpress is the manager's user friendliness, so if some other alternative with the same kind of user experience would be ok.
Could anyone please point me in some direction?
NOTE: I'm still doing research at the moment, so I've got nothing holding me back at this point.
There is an API plugin that has been developed to spit out information in JSON, but I have not actually implemented a site with it:
http://wordpress.org/extend/plugins/json-api/
Perhaps you could have the authors work on a wordpress install and create your app to draw content via that plugin?
I too was facing the same issue, little different. We want to have WP as CMS so that our site can take the benefit of SEO which is very easy with WP. SO we installed WP under a folder in the Main ASP.net based website. Initially there were issues, I was unable to run it. Finally managed to run it. Solution is posted here - http://www.wwwlabz.com/how-to-run-a-php-based-website-from-a-subfolder-in-asp-net-website. Hope it will help someone. Actual site where we implemented this is http://www.periproperties.com/content/.
Now I want to have specific section of WP to be accessible on my site. SO I am exploring different options and will post, if found something
Thanks.
DotNetNuke is the most popular ASP.NET based CMS (source). I am implementing my first project in it and so far I am very happy with it.
Note the free edition will not work for you since you need customizable security roles and free has a limited set of predetermined roles. You'll need the pro edition.
I don't know how similar it is to WordPress. Overall, WordPress is much more popular but of course there are platform issues with WordPress since it is Apache based and you want to create an ASP.NET website.

Architecture ideas to allow customers to build their own site, based off external site's data?

I'm not entirely sure how to properly ask this, so please bear with me.
I have an idea for a site I would like to build, which would basically be a site for members to create some data and have it housed in my database. I would like to offer a value-add to the site which would allow people to spin off their own website via my own "website builder" tool (probably some sort of CMS). Their website would be able to communicate with my master database to display their data.
Getting down to the crux of the topic, I'm looking for architectural advice/ideas/etc. regarding what services I could use to do this. I'm not looking a 100% automated solution, but something along these lines (which may not be completely correct, I admit):
Customer puts in an order to create their own site, using my tools.
I setup a separate domain for them, roll out the CMS foundation to the site, and the customer has full editing control of the CMS to design it however they would like.
The CMS would have some customizations so that it includes functionality to call APIs located on the master site, which would return the relevant data.
In the research I have done on SO, I've seen a lot of mentions of Umbraco which honestly looks like a good start. I'm just worried that when I go to upgrade a version, I have to deal with overwriting my custom API functionality. I'm guessing this is the nature of the beast, and requires me to accept/plan for it.
Does anyone have any thoughts about this? Some high-level starting points? Thanks!
I've been thinking about this same issue for my customers.
It is not hard to automatically roll out a stock cms such as Wordpress or Joomla. This sort of thing is done all the time by "1 click installers" that DreamHost and others have.
Including custom widgets or plugins for the CMS that can connect to your main app is also not hard.
For dns, you can use Amazon Route 53 or other DNS services that include a good api at the dns management level.
I suggest that you focus on using a CMS that is very popular (eg Wordpress or Joomla) rather than something less well known such as Umbraco. Using a more popular system will drastically reduce your training costs--remember that if you supply the CMS to your customers, then they'll also expect you to supply the support for it...

Should I add a blog to a site or use a blogging service?

I've been adding quite a few blogs to sites and I'm wondering if it's better to add blogging software on the site or use an external blogging service. The major reason I can think of adding a blog to site is if you want to customize it later on (other than look) such as more integration with the site. If I put it on the site, I'll probably use WordPress as I'm familiar with it.
Is there any major advantage to one method or the other?
I would go with putting the blog on your website itself. This will help with a number of things:
Transparency: Your users will feel as if they are on the same website, because they in fact are. Your blog will become simply an extension to your website. On the other hand, a blogging service will most likely appear as though you are going to a completely different website.
Integration: You are able to integrate everything on your website with your blog. This includes any existing user bases, or future ones. Also, the look of your blog can match your website perfectly, much more so than with a blogging service.
Customization: You get 100% control over every single feature of your blog. If you want some new crazy feature, you can program it. Blogging services are typically much more closed than this.
The downsides will be that you have to maintain it, and any features that you want you have to put in yourself.
One of the advantages of having blog on your site is that all the content will belong to your site, which is good for search engine since it will increase your site visibility through SERP. But you will have the price to pay: installation and maintenance.
It's not cut and dried:
(Assuming this is for clients) do you have an ongoing relationship with the client and time scheduled for upgrades? Most blog software needs at least some upgrading or security patching from time to time.
Are you relying on some sort of social media network effects from these blogs? If so, you may get better mileage from a hosted product as they often promote related sites within their networks (e.g. Wordpress has the "Possibly related posts" feature).
As Brian said, integration could be an issue if you have other areas of your site that rely on logins. In that case, probably better to host it yourself.

Resources