Best Practices Drupal 7 - drupal

What are the best practices to do changes(new modules, new requirements, new content type, modifications) on the existing site which is live & is being used by users?
Thanks.

First, before doing any change on live site would be good to create backup of files and database. Backup & migrate module may be helpful for that:
https://www.drupal.org/project/backup_migrate
Then it's not advised to work directly on live site. Download it and set up site locally, on some virtual machine or make staging site or similar, to work on.
Third, would be good to stick with the standards already used on existing site so you won't have situation that each new developer that works on site has it's one rules.

Related

I have developed a WordPress website using localhost.How can I give that to my client?

I have developed a WordPress website using localhost. Now I am giving that site to my client. What files do I need to give him and how will I generate those files?
I'm not sure I fully understand as the question could hit a few different scenarios.
I'm assuming for localhost you mean you've developed the application locally, therefore you could move your local application to the live site - for a simple guide on how to do this check out: https://www.wpbeginner.com/wp-tutorials/how-to-move-wordpress-from-local-server-to-live-site/
The idea of local development is that the application is built locally on your machine, for this to be available to everyone, the project needs to be deployed to live (i.e the files transferred to a live site).
You could then provide your client with the domain address or hand over the account completely - I suppose that process is up to you.
It's probably a good idea if you are interested to have a read through the different types of environments developers use for their projects - development, testing, staging, production. To read more have a look here: https://codewithintent.com/different-types-of-development-environments/
I hope this helps!
I am working with wordpress for a quite long & i have also came across the same situation where we develop the site on other domain & then we need to deploy it to client site. The best way is to simply install this plugin
https://wordpress.org/plugins/all-in-one-wp-migration/
After installing go to the plugin options & export the website It will gave you one file.
Then at the client side install a fresh copy of wordpress install the same plugin again & then go to plugin settings & import the file here. It will take some time after doing it just refresh the page & you will be good to go.

Best way to build convert a Shopify store to WordPress

I have a website through shopify, hosting through Shopify, and want it rebuilt in WordPress.
What would be the best way to do this while keeping the original website live until the new website is done? The new website may take a while to be created since the database of products needs a lot of modification.
I was thinking about creating a new hosting account and building it there without connecting it to the domain name, and when it is ready I'll connect it. Does this make sense or is it even possible? Or should I build I'd offline and upload it when it's ready? I'm not quite sure how I would build it offline though...
Thanks in advance!
Like the others said, you can build it offline on your computer using a program like XAMPP to create an offline server, however I prefer to build the new website online on a sub domain of your current domain, and switch it over once the website is done.
For example, if your website is amazon.com you can create a sub domain dev.amazon.com and build it there. You will most likely have to use a search and replace plugin to replace all instances of "dev.amazon.com" with "amazon.com".
As for transferring all your products etc. you can export all your products from Shopify as a CSV file and then re-import it into WooCommerce using a plugin called WP All Import along with the WooCommerce add-on.
Good luck!
You can build it in a new hosting environment set up for wordpress hosting. And yes, you can reassign your domain to the new site when it is ready. I don't think building an offline wordpress site would be wise if you aren't familiar with apache servers or transferring wordpress sites to different servers, it can be a headache.
Funny enough you're asking this. I currently am working on a project that is more or less the same task. The best and most optimal way would to just develop the website locally on your machine, using a program like XAMPP or WAMP.
Here's a link on how to get started using a virtual machine that is localized on your computer: https://managewp.com/blog/how-to-create-a-local-wordpress-website-in-windows-with-xampp
After installing WordPress on your machine, you can proceed by installing Woo-Commerce. This is the best e-commerce plugin which works with WordPress and is highly recommended due to how frequently updated it is. There are tons of themes out there which can help you change the look of your shop depending on what look and feel you want your shop to be.
Since you're porting a Shopify website over to WordPress, I assume the Shopify site didn't have anything crazy over-the-top when it comes to the look & feel...That being said, I would 100% recommend the "Storefront" theme for WooCommerce, which is a great theme, both for developers and non-developers to use. Here's a link to the Storefront theme, which is free:
https://woocommerce.com/storefront/
In terms of hooking up the domain to the website, this can be done once you actually are ready to launch the website. There's no need to have a live domain working for developing.
Good luck! I hope this helps!

How to version control with WordPress

I want to set up a system where a developer can work on a separate server on a wordpress website.
My question is: If in the meantime changes are made to the live site (like plugin updates, new plugins, new posts, new comments, etc), how is one able to import a new feature (e.g. a new page) from the development server on the live site while making sure that previous changes on the live site don't get deleted?
I am looking to understand how this all works. In a sense, I would like to have some kind of version control system.
Thanks in advance :)
You can version control your own code using git. Basically we would init a new git repo and commit changes onto this repository. This can lie separately outside of the core files. i.e you only need to include the wp-content directory and ignore all the other core wordpress files.
Here is a good article on how to do a really good versioning system for a website.
http://toroid.org/git-website-howto
The posts and pages (basically content) in a wordpress site however lies in the database.Any changes made there will be permanent.
The only option is to keep taking regular backups of the content. You can do this by using an automated backup tool.
If you really want to version control your database, here is an article that helps:
https://blog.codinghorror.com/get-your-database-under-version-control/
This one is a tricky one. You cant host a single website on two servers. Just imagine a website having 2 hosted urls..!! No way.. You can never do that.
You better create a new user and give access to him. Look carefully in the settings and be a admin. You will have a chance to approve or reject what the second user changes.
Hope this helps.

Sandboxes and Wordpress, Joomla or Drupal Sites?

I'm looking into building database driven websites based on opensource platforms in a sandbox area rather than having them accessible via the final URL until clients have paid up.
Is anyone aware of any problems this may cause with paths or functionality, or, know of any good articles on the subject?
many thanks
Shaun
There is no bad effect on functionality just because it is in sandbox. Generally, Joomla is almost location independent (untill and unless you are driving multiple websites from same joomla installation)
For security purpose secure the URL via .htaccess file (if more security required then setup a cron to update password every X hours, and email new details to user)
I would suggest having a cut-down, less privileged or demo account for signup users that can still enjoy the overall experience of your site without the full functionality of your killer-webapp services. "Restricting" them in a Sandbox area that is not even the actual site would not be as appealing and convincing as it could be for them to go from "freemium to premium" customers.
I develop all joomla sites on a local server and then upload to the production server once approved. In Joomla, when I upload the files to the production server, I usually need to change the mysql server as well and it can all be changed from the configuration.php file

Managing Multiple Wordpress Sites

Not sure if this is the right place to ask, sorry if its not. I build a lot of Wordpress sites. My problem is, the number of them is getting big and harder to update them all when new releases come out.
I have written an app that will download the latest Wordpress release, and manually ftp the new files to all the clients, but this takes forever... need a new way.
I wanted to restructure this while I can or start a new process at least. Whats the best way to manage multiple Wordpress sites and keep them all updated? Some people have said 1 DB and modded config, others I have seen said to keep all installs separate and use plugins to automatically upgrade, but I don't know whats best to do. Ideas? Thanks :)
If these were all sites you managed on your own server, I'd recommend using a Multisite installation rather than separate instances of WordPress. This way you only have one set of themes, one set of plug-ins, and one copy of WordPress to maintain.
If these sites are on different servers (i.e. you're maintaining sites for clients remotely), I'd recommend you look in to a beta account with WP Remote. This is a service specifically built to allow you to remotely monitor and update multiple WordPress installations. It might be the best solution for you because it allows you to use the one-click update rather than manually downloading/FTP-ing the new files.
You can use this free self hosted app http://infinitewp.com
No limitation in number of sites being managed. You can update WP/plugin/themes, do backups, one click login to your WordPress admin panel.
EAMann is right, especially with the new Multi Site features in Wordpress 3.0, there is no better way to manage multiple sites under one umbrella. Being a developer myself, I know the pain of having to login to all those different accounts!
The way to set it up is create a "master domain name" that you will log into. Place this in your WP Config:
define('WP_ALLOW_MULTISITE', true);
Then login to your admin panel, navigate to TOOLS>Network.
After you've set everything up, copy/paste what it tells you to your HTAccess and WP Config file.
The next step, especially if you are putting clients on this network, is they will want their own domain name, not AIBot.com/theirname right? Thats where Domain Mapping comes in:
http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/
Check that out and good luck!
What you need is www.managewp.com it can do all of that for you plus a ton of other excellent features.

Resources