is there a possible way to work simultaneously with multiple users on a Website without overwritting the global styles. When I'm saving my changes and defining some new CSS classes they always disappear after my partner saves his changes also.
Is there a possible way to avoid this problem?
Maybe we failed at the installation and made some mistakes.
According to Oxygen's site, they do support multi-user editing.
At a guess, it may be possible to apply your own hooks so things aren't auto-generated/saved. You'd essentially create your own plugin to overwrite the functions provided by Oxygen.
How that functions, I'm not sure, but it would require "manually updating" later.
Honestly, IMO, I wouldn't try to overwrite this functionality, but instead look into local environments instead. Create a copy of the site that all your devs can use on their local machine, and then move it on to a shared/dev/staging site.
TBH, I've found Oxygen to be a bit of a step back in the DevOps life cycle, since collaboration is a task now.
The official documentation recommend using a single tab when working with Oxygen to avoid issues where one tab is saving older data than another, resulting in overwriting your new changes. The same scenario can occur when two or more users are working in Oxygen at the same time.
We have developed the plugin to support multiple user simultaneously.
http://collaboration.docs.oxyrealm.com
The plugin will update data and design instantly between multiple tabs of Oxygen Editor. So the overwrite issue is resolved since the data to save will be same and synced between the oxygen editor
Related
I have a custom Wordpress theme that is used as a base theme for 100+ sites. A child theme for each site is used to make individual changes. I have some changes I am making to the main theme on github, but once the changes are made, I need to apply the new repo files to all 100+ sites. Is there a quicker way to do it rather than ftp into each site and update the files (current solution). This way is fine but is taking me 4-5 hours to get them all done. Just curious if anyone knows of a streamlined method or a way to push the changes to all the sites at once instead of one at a time. Thanks for any assistance!
I am working with my teammates on the same WordPress project, but once in a while we face overriding each other's codes, mainly in functions.php or style.css files. I was wondering if there is any away to avoid such problems?
once a while we face overriding our codes by each other
When we fix or add something we may not like to first ask about 2 minutes
for something that is done in just 5 minutes. But this gets a problem when multiple persons may work on same file and do not communicate about their work.
Is there a way to know if someone else is editing same functions
You can use any of below ways:
Recommended: use any sub-version control system like Git or SVN, and work only on your own branch (i.e. create a branch even for a single method/function and merge latter, but you also need to communicate about like: will create a branch and work on ...).
You could use an IDE that has a plugin that adds the feature to show other developers actions (e.g. a separate text-cursor with remote-Developer's name above it, like "Google documents").
For example, VS Code has the so-called "Live share" extension:
https://code.visualstudio.com/learn/collaboration/live-share
Or, develop a plugin that does add such feature to your IDE, as most IDE's provide SDK.
Actively use communication method's in an advanced way (e.g. like working on exactly some file over LAN, some software do support that).
My dilemma: My small team has been pegged with the task of refactoring/redesigning a rather large Drupal site. The site is littered with unused modules and content types, CSS/JS/HTML/etc hacks, and has a myriad of strange work-arounds for external data imports. I am currently the sole backend developer for the team, and our Drupal expertise is beginner level. We cannot build a custom CMS because of the amount of content that the site has combined with the complexity of Drupal's DB structure, it would be impossible to export it reliably; as well, content is being constantly added and modified on a daily basis.
My question: Is there any best practices, tips, advice, or any suggestions that anyone can provide that might aide us in our attempt to refactor this site?
Specifically...
Detecting, disabling, uninstalling, and removing unused modules and QAing afterwards.
Updating modules and QAing (systematic approach?).
Detecting and deleting unused content types.
Detecting and removing unused PHP code (tpls mostly).
Detecting and removing unused CSS/JS.
On modules back-end page you have dependencies shown for every module. Is some other module using it and what other modules current module uses. So, if you see that module is not used by any other module and that it's feature is not needed you can try disabling it first, check if everything works well and finally remove the module.
About content types - go to content, check is there some node of specific content type you doubt it's not needed. If there are nodes of that type try viewing them. It they are not styled well...might be that they are not used/needed.
Php - hmm...you can i.e. add some line of your code writing out some thing, or even saving some text to the file and then open page...see if you'll get some output or something saved into your file. You can even call exit() function and check will it break the site.
Similar with JS - alert something or write to console to see will it be called.
And most important thing - make a backup of all files and database first!
I'm working on a premium theme for WordPress, it's my first. My question is how modular should/can I get my code before it gets to be a problem for the server or other developers who buy my theme?
For example I have 3 custom post types with taxonomies and custom column headings. Should they all be in one php file or can I break them up so that each post type is in its own file?
I'm thinking that for future projects more modular is the way to go so I can just drag and drop the pieces that I need for that project. I don't want to make my theme any slower though so I could use a little advise on how granular to make my files.
I've bought themes in the past that have both extremes but want to set myself up properly from the start.
Thanks.
This is an opinion request this one because either approach works and based on this information plus the fact you seem keen on individual files. I would encourage just that.
Modular approach works with themes if you plan to provide the same functionality per theme as you won't need to edit functions per theme. I would go with individual files and just put them in a folder. If one of those files has a bug you'll be quick on applying the changes to all the themes you create.
If you put all the functions in one file and each theme gets its own versions of those files due to requests etc. Then you create a little more work in that you copy and paste code. Not a lot of work but then that demands on just how much that single file changes over the years or even within some months.
There is nothing wrong with many folders and files. It won't have an effect on loading. It would take hundreds of include() or require() before it becomes an issue.
I've built a complex site for a client, who wants this duplicated, and re-skinned, so it can be used for other means.
What is the best way of doing this? I'm concerned about copying every file as this means any bugs must be fixed twice, and any improvements must be implmented twice.
I'd look to refactor your code.
Move common functions into a library you can reference from both projects. As you mention that the new site is for a different purpose then you are likely to see divergence and you don't want to hamper yourself later, so extract the common parts and then modify copies (or if appropriate new files) of the remainder to complete your fork.
If you haven't applied good practice already then now is the time to do it and it'll make your work on both sites easier moving forward.
If all the functionality is the same and only the layout is different you could just create a new css file. 2 websites could have exactly the same code base but have different stylesheets and look completely different.
I think that using a version control system like subversion or preferably git, is a good way to duplicate your website. You will be able to track the changes that you make and revert to older versions if things do not work out.
You should implement some kind of instantiation, so look and feel, content and data will be shown depending of what instance of the application is accessed.
In other words, each application access to the code with a different application identifier, meaning content will be served depending on it.
Both application identifier will be pointing to different settings, so stylesheet and content will be absolutely isolated, and both domain will be living in the same IIS application.
If you want to duplicate a whole site it's probably best to copy the whole thing and amend as necessary. Obviously taking great care not to copy large portions of text or else you may be penalised by the search engines.
There are ways you could put the new site onto the same shared host (say within a subdirectory of the original site) and literally 'share' some files. If a unique change is required, you could instead reference a 'local' version of a particular file.
However that sounds like a recipe for a headache to me. I'd prefer to duplicate the whole site. It would be much easier to replace one or two functions on separate websites than it would to try and work out which website(s) are affected by a particular change to your source.