What's the best way to work on a website with a team collaboratively? [closed] - version-control

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 am working on a website with a group of friends. The problem that we are having is that when any one of us wants to make a change in the code, we have to send the project back to one main person, who uploads it online.
Is there a tool available that would allow multiple team members to login from different locations and make changes to the website directly so that the website would be updated immediately after editing?
Thanks!

There are multiple different ways to address this issue.
To answer your question directly, Yes. There are tools that allow you to edit the website directly on the server, this depends a lot on where the website is hosted and how you can get access to it. If your server supports FTP or SFTP all you have to do is find an FTP client and get the correct credentials for your server to log in.
There are many editors out there that allow you to edit files over FTP or SFTP so it feels very much like you are just editing a file on your local machine. Personally I use Coda 2 which is on the Mac Platform, but there are many other choices.
Even though you can do this, its not usually the best way to go about creating a website with multiple developers. Here are some potential issues:
Working on the same file at the same time: If you and a friend are working on the same file at the same time, its very easy to overwrite each others changes. If your friend saves to the sever and you don't get his changes before you save, you'll overwrite everything he just did.
Users are affected: Once you launch your site, making live changes on the site creates a bad experience for users. Its way to easy to break stuff and you don't want users finding their way to a partially completed feature.
To solve these issues you'll want to look into some type of version control system like Git http://git-scm.com. and get a local development environment setup so you can run the site on your computer.
With git you can edit a specific part of the site on your local computer, push those changes anywhere you want like a staging server, your friends local site or even the production server if you want. git handles merging your changes in with your friends changes and much more. This way you can build full features locally then only push them up to the server when they are complete.

Related

How can I work on the same code with my friend in vs code? [closed]

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 2 years ago.
Improve this question
I and my friend want to create a website. We're using Vs code. How we can work on the same code in vs code? I'm looking for something that lets me edit on the code at any time I want and the same thing for him.
Use GitHub
GitHub is a development platform inspired by the way you work. From open source to business, you can host and review code, manage projects, and build software alongside 50 million developers.
Github is a web-based platform used for version control. Git simplifies the process of working with other people and makes it easy to collaborate on projects. Team members can work on files and easily merge their changes.
You should definitely make your account on github as a developer as it helps alot.
Check it out here: https://github.com
You can use https://github.com/. Once you are done doing your code you have to upload it on github. Same as your friend can do. And the important thing is you can see/undo your previous code if you do anything wrong.
This is an opinionated question and answer, but since you are using VsCode, I would recommend Microsoft's Live Share . Since Microsoft is the creator of VsCode, I would guess this is going to be your best option to stay within the editor.
Visual Studio Live Share enables you to collaboratively edit and debug with others in real time, regardless what programming languages you're using or app types you're building. It allows you to instantly (and securely) share your current project, and then as needed, share debugging sessions, terminal instances, localhost web apps, voice calls, and more! Developers that join your sessions receive all of their editor context from your environment (e.g. language services, debugging), which ensures they can start productively collaborating immediately, without needing to clone any repos or install any SDKs.
Additionally, unlike traditional pair programming, Visual Studio Live Share allows developers to work together, while retaining their personal editor preferences (e.g. theme, keybindings), as well as having their own cursor. This allows you to seamlessly transition between following one another, and being able to explore ideas/tasks on your own. In practice, this ability to work together and independently provides a collaboration experience that is potentially more natural for many common use cases.
Well, I would recommend GitHub, is a great tool. If you like to learn from video, I would recommend this video. Or read this article.
The best way is live share
Live Share is an extension for VS Code that enables real-time collaboration between developers. It gives users the ability to share a session with someone else, allowing them to edit code as well as share a sever and debugging session

How can I tell a github repository's quality? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
Many a time do I find myself pointed out to use some code in some github repository, and I find it hard to asses whether I should trust and use the code.
Assuming The code is an answer to my visible needs, what other parameters should I check in order to decide if using the code is a good idea?
You should check:
documentation - Is everything clearly documented? Would you need support from the author to use the code?
activity - Sometimes authors could not constantly push updates to the library, but it is important issues and pull requests are resolved rather quickly. Common bugs often are resolved by others in a pull request, but if it's not merged it's rather hard to handle all the forks.
Also you should check the Pulse page in the repo. It will show the activity in issues, commits and releases.
extensibility - You may want to do something different with the library. Or you may want to build something on top of it. You should check the API (the public interface), the configuration and whether some components could be changed with something else (think interfaces and the composite design pattern).
tests - Unit tests are important. You should write tests for your own application. When you use an external library, make sure it is well tested so you use a component which will work the same when you update it or use it in a different environment. If the code is not tested you should not use it. Unless you wrote the tests yourself.
You can check out the chrome extension DevGib that I wrote. It automatically rates Stackoverflow questions and Github repositories before accessing them, by showing a small colored icon next to the link. It's still work in progress but it does the job for me.

Collaborative Code Editing [closed]

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 work for a small web development company (6 people) and we've been in the market for a new code editor/development environment for quite some time.
Currently, we're using Dreamweaver's (CS3) coding side for our site development. Each site's files is hosted on a Dreamhost ftp server. All 6 of us work on the same set of live files on the remote ftp server. Dreamweaver has a handy file locking functionality that prevents us from overwriting each others changes by keeping us out of the same files.
Now, we've found that this form of development allows for very rapid development and love how easy it is to get things done. However there are many things we don't like. One of which is Dreamweaver's code editor. We also don't like our lack of code history for each site.
Does anyone know of a good alternative to Dreamweaver that has similar file locking/ftp functionality?
If not, could you explain to me the best configuration of a source control system for our team? We're willing to look at GIT, Mercurial, and Subversion. The new system would ideally:
1). Support multiple different code editors on different operating systems. (Windows 1st choice.)
2). Be almost as easy and quick to push out code as currently.
3). Allow for working on the files outside of the office network.
4). Be inexpensive.
I'm probably just showing my ignorance of how to use a version control system, but it doesn't seem logical for each of us to have a testing server on our computers with every single site setup with our own test database... That's very time consuming
What's your solution to our problem? I think we'll either have to upgrade to the latest version of Dreamweaver and stick with it forever, or we'll have to find some sort of ftp collaborative editor, or we'll have to implement version control.
Do the benefits of version control outweigh the extra amount of time it entails to push out code?
it doesn't seem logical for each of us
to have a testing server on our
computers with every single site setup
with our own test database... That's
very time consuming
That's generally the way to do it. Most modern frameworks will let you set up your development server in minutes, if not seconds -- using an embedded http server and database, for example. If you are stuck on an ancient platform, there are solutions like wamp that are only a little more difficult. Remember, that it's time that you spend once, but it lets you be faster. If the project is going to take any longer than a few hours, it should be beneficial. You don't waste time on debugging things your fellow developer just changed, or recovering production data from that silly database manipulation mistake you just made.
(Oh, and if your websites are just HTML+JavaScript, then you don't need any server locally, obviously.)
As for version control systems, the ones you mentioned are fine, with SVN requiring a little more setup and network access to the central server for commits. Git and Mercurial let you work and commit offline, and then push your changes to the central server or even just exchange them between developers. I think Mercurial works better on Windows at the moment.
Michael I hear your pain.
I can't claim to have fully researched all avenues, but I have really begun to love Git recently.
My first hurdle was learning about how Revision Control Systems (RCS) work. Before I would pick SVN vs Git vs HG vs Bazzar vs etc I evaluated what I wanted to do. And that was to work locally then share my work, and push to a webserver.
I found this great comparison website: http://whygitisbetterthanx.com
From that I could clearly see that Git was worth the time to learn. As the backwards learner I am I dove into a project and learned how quickly things could become messy, then I began reading: http://gitready.com/ and http://book.git-scm.com/ and http://progit.org/book/
Then I realized I needed an organizational strategy. I went searching and found something I (and a lot of others) liked: http://nvie.com/posts/a-successful-git-branching-model/
This is also a great resource:
http://danielmiessler.com/study/git/
There's a bit of a primer. Let me try to answer your questions more directly.
1.) Git is a command-line tool. For windows there's cygwin.
I found the documentation at github to be the best. Even if you don't plan on using them for code hosting. Have a look at http://help.github.com/ Use the setup git link to get started.
2.) Since you ask for versioning there is a bit more work. Its a different model, a different way of thinking. Rather than not be able to edit the file which is currently what happens, your commits might collide, and in that case git provides great diff tools to help resolve the conflict.
3.) Git is whats called a DCVS or distributed version control system. Here's an example:
lets say you need to do some work over the weekend. You do a git pull from the server before you leave work. At home you can continue to work, create new branches etc. Then when you have an internet connection you can push your changes back to the server.
4.) Git is free!
As for pushing your work to the webserver you'll need to setup something like this:
http://toroid.org/ams/git-website-howto
Looks pretty easy, I'm gonna try it out next weekend.
I hope you find some of what I wrote helpful, if not maybe the links are.

Simple GWT hosting [closed]

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
I have designed a website with the GWT, This is purely a static site and it doesnt have any servlet or any rpc part involved in it. Its just a plain static pages in GWT .I have compiled with the GWT and there are all related html ,.js files are present in the public folder. Now i want to host the same in any of the web host.
Good web host to host this web site.
Procedure to upload the GWT compiler output files into the web host.
Note:- I tried with the google app engine but it had issues as i have couple of video files that needs to be uploaded which is embedded in the webpage.
Thank you
I think this is not really a "GWT hosting" problem, but rather a "hosting" problem. Finding a good host is not that problematic though. I suggest you to look up webhosting in your own language and country, which makes it easier to contact the hosting company in case of problems.
I don't suggest a free hosting, unless you really can't afford a payed host. Your site being static, would require a cheap host. Free hosts have always got some problems and some advertising attached to your content in some way (frames and popups).
For the uploading part, you usually get a (s)ftp account which you can use to upload your files to the server with a (s)ftp client. Good companies provide detailed description of this process for their server, and as being a paying customer, you will usually get technical support as well.
It's good to know that a host alone doesn't include a domain. To have a yourcompany.com address, you need to register it, and you will have to pay a (low) registration fee. Some compaines offer the domain as part of the hosting service.
I host a few small GWT (client-only) apps on the same site I host my blog. There's no problem. In the end GWT is just javascript with a couple of html files, and thats all thats really being hosted.
Ummmmm...why not host it on Google App Engine?
It's free and deployment is easy if you're using Eclipse.

What are some good Module Development Solution/Environments/Best Practices for Dot Net Nuke Modules [closed]

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 2 years ago.
Improve this question
I've been developing modules for DNN since version 2 and back then I was able to easily able to run my module as I developed it on my environment and still easily deploy my module as a DLL.
When version 4 came out and used the web site solution (rather than the Web Application solution). It seems like there was something lost. I can continue to develop in my test environment and immediately see changes as I make them, but releasing for me has become a headache.
I mostly do my development for one site in particular have just been using FTP deployment of the modules to the main site after I was done making changes.
I'd like to set up a good environment for multiple developers to be able to work on the module(s).
When adding stuff to source control, are people generally putting all of DNN into source control so they can bring the whole solution down to work on, or just their module and each person needs to set up their own dev DNN environment?
I'd like to start getting my modules projects organized so more people could work on them and I feel a bit lost for some best practices both in doing this and deploying those changes to a live site.
I have a few detailed blog postings about this on my blog site, mitchelsellers.com.
I personally use the WAP development model and I do NOT check the DNN solution, or any core files into source control, as I do NOT modify the core for any of my clients. When working with multiple people we create a similar environment for each person, and still can work with each of our individual projects, at times we will have completely isolated dev environments with individual databases and code, at other times I have worked with a shared dev database to resolve issues with dev module installation issues.
With the WAP model I use a method to dynamically create my installation packages on project build using a post-build event and then I have a test installation that I use to validate that the packages occur. Debugging is then done via Attach to Process.
I would suggest Mitchel book if you are needing some reference material - Professional Dotnetnuke Module Programming by Wrox Module Programming - Michel Sellers