I have developed a relatively simple Rails web application that others (non-programmers) may find useful. I would like to provide a web interface for anyone who wants to create their own copy of my app and change some minor settings, like the appearance, the name of the app and some of its resources, that type of thing. What kind of technology would allow me to do this? Thank you in advance!
GitHub is probably one of the most popular tools to support this, but there are many others such as SourceForge. I'd start from there and do some research to decide the best one for your purposes.
The best way to collaborate code online is through git. The most popular sites for git management include GitHub and BitBucket. Here's a good article suggesting nine alternatives.
However, you stated it would be used by "non-programmers". I can't tell if they will find it useful through the function of the application or the simplicity of the code, so it seems reasonable to also suggest non-git options.
You could use something like Amazon Web Services or Google Cloud to host the static files. See the AWS S3 docs regarding creating a bucket and adding an object.
If you would like to host the entire application online and allow users to easily edit and view the application in-browser, check out cloud9.
Related
I'm building a rails (rails 6) app that facilitates collaboration on math papers. As the papers are usually written in tex but produce PDFs there may be pictures of blackboards, text note files and sketches I'd like to avoid resolving the merge/source control issues and simply serve a git repository to members of that group of users who want to clone it. But not everyone wants to use the gitcli and the point is to create a single page to manage the collaboration so I also need to be able to display and edit (eg issue commits) directly from the webapp (likely restricted to only fast forwards to master...at least at first).
I suspect there is a gem or engine that allows this and it might even have been answered before here but all my attempts to search just return discussions about using git to version your rails app not using it in the app.
Heck, I'm even willing (at least to hack together a quick working version) to insist that one of the group members setup a GitHub repo and grant some kind of permission to the app (and other users who want direct repo access) if that's a quicker and easier way to hack together a quick solution but I need the rails app to be able to make commits and query the head.
Any suggestion for existing utilities that allow this? If not suggestions on the best way to approach coding that functionality?
This answer (thanks to Int'l man of coding mystery for the pointer) suggests using the library Ruby/Git or Rugged. I haven't had the chance to look closely at the libraries but that solves the problem I had of being unable to find them with search thanks to all the results about putting your ruby code in a git repo.
I am wondering if there is a standard pre-built web application for Rails which has all the basic functionalities like user login, user profiles, profile image uploader, comments, search, maybe payments and a set of other usual web application features all bundled and ready to use and extend.
I like how Twitter bootstrap comes with a set of pre-built interface functionalities and styles, which you can start using and modify later. I am looking for something similar that can allow me to quickly set up a working application and go from there.
Does such a framework exist?
There are numerous examples out there.
However, there are two things you should really do:
Read the license to make sure you can use it they way you are thinking of using it.
Ensure you understand the design decisions and choices the original authors made. You will end up in a world of maintenance pain if you just copy cargo-cult style without understanding the tradeoffs others have made with their design decisions.
Any one of the links listed has enough to get you started. They may not have all of the features you listed but together they probably have all of your bases covered. You will have to put in some effort to get all those features working together though.
The RailsApps project is great because they all have tutorials that walk through the basic setup. They are also all built using the Rails Composer tool, which lets you pick and choose certain options for your app.
We have a website, and want to allow users on the site to chat with the providers (if they are online). To make it as simple as possible, we'd either ask the providers for their Google Voice/AIM username or just ask them to have our website open.
Any ideas on best ways to implement this (we are using HTML5/CSS3/RoR3 and don't support old browsers) or even better, perhaps a solution out there that does this. To my knowledge, olark, livechat, etc don't provide this...
FYI: I prefer an open source solution vs. building it myself.
There was a recent railscast regarding messaging where Ryan built a chat program with push support (not polling). Seems a decent place to start if your requirements are easy going:
http://railscasts.com/episodes/260-messaging-with-faye
I am trying to build a CMS I can use to host multiple sites. I know I'm going to end up reinventing the wheel a million times with this project, so I'm thinking about extending an existing open source Ruby on Rails CMS to meet my needs.
One of those needs is to be able to run multiple sites, while using only one code-base. That way, when there's an update I want to make, I can update it in one place, and the change is reflected on all of the sites. I think that this will be able to scale by running multiple instances of the application.
I think that I can use the domain/subdomain to determine which data to display. For example, someone goes to subdomain1.mysite.com and the application looks in the database for the content for subdomain1.
The problem I see is with most pre-built CMS solutions, they are only designed to host one site, including the one I want to use. So the database is structured to work with one site. However, I had the idea that I could overcome this by "creating a new database" for each site, then specifying which database to connect to based on the domain/subdomain as I mentioned above.
I'm thinking of hosting this on Heroku, so I'm wondering what my options for this might be. I'm not very familiar with Amazon S3, or Amazon SimpleDB, but I feel like there's some sort of "cloud database" that would make this solution a lot more realistic, than creating a new MySQL database for each site.
What do you think? Am I thinking about this the wrong way? What advice do you have to offer in this area?
I've worked on a Rails app like this, and the way it was done there was named-based virtual hosts, with db entries for each site running. Each record was scoped to a site if necessary (blog posts, etc.) while users would have access to all sites running out of that db. Administrator permissions could be global or scoped to one or more sites.
You're absolutely correct when you say you'll reinvent the wheel a million times during the project. Plugins will likely require hacking on top of the CMS itself.
In my situation, it ended up being a waste of almost a million dollars of company money to build that codebase to run multiple sites while still being able to cater to the whims of each client site. It worked, but was not very maintainable due to the number of site-specific hacks that subsequently entered the codebase. You may be able to make it work if you don't have to worry about catering to specific client sites running on your platform.
In the end, you're going to need a layer of indirection to handle the different sites regardless of methodology. We ended up putting it in the database itself. If you go with the different-db-for-each-site method you mentioned, you'll put that layer in your code instead. I'm not sure which one is the better method.
I hope you're able to pull this off. I failed.
Also, as I learned today, Heroku offers postgres instead of mysql for rails apps.
There's James Stewart's Theme Support Plugin for Rails 2.3, and lucasefe's themes_for_rails gem for Rails 3+.
I just started using the 2.3 version and it's working well so far.
I am working with a client to migrate a web site from the existing production hardware into a new hardware environment. Now seems like an excellent time to perform an audit and remove any old or obsolete content rather than just blindly copy it again.
Are there any good free tools or scripts I can use to compare the web accessible content on a server to the actual files on a server to see what content is actually being linked to and used?
Thanks in advance for any help!
Well, for starters you can use a tool like Xenu's Link Sleuth to spider all of your pages to find broken links and the like. We used this tool on our intranet to find and fix our broken links. It's free and gets the job done.
Another tool that we have used for migrations between systems is a search engine. A good search engine will spider all of your pages and show the two-way relationship between links. This can help you find what content is being linked to the most and what is possibly orphaned. Unfortunately, these kinds of tools are not free.
I'm sure there is but I'm sure there isn't one that could do a better job than you could yourself, ya know? How big is this site and did you code it yourself?