Changes

From Amahi Wiki
Jump to: navigation, search
2,964 bytes added ,  00:57, 15 September 2015
no edit summary
{{MessageBox|backgroundcolor = #faa|image =Warning.png|heading =WARNING|message = Amahi 6 Working Notes7 for Fedora 19<br />Maintenance Support ONLY!}}Amahi "edge" is the developer version of Amahi, with the very latest and greatest code in it. It lives in the master branch of the Amahi git repo at https://github.com/amahi/platform This page is about working notes for the latest in the development tree.
= How to Get Amahi Edge Running =
 
This procedure is the way to get Amahi 7 running in development. This has been tested with a clean Fedora 19 minimal install from the netinst DVD (generally without updates), though it can be done on Mac OS X as well:
 
# open a terminal window
# If you are running Fedora, do this as Root (<code>su</code>):
##enter the root password (not the one from the first user)
##<code>yum groupinstall 'Development Tools'</code>, or for a shorter install do:
##* <code>yum -y install make git mysql-devel sqlite-devel mysql-server gcc-c++ tar rpm-build</code>
##* <code>yum -y install ruby ruby-devel libxml2-devel libxslt-devel</code>
##<code>systemctl start mysqld.service</code>
## <code>gem install bundler</code>
# exit the root user and use a regular user. you will need to reinstall fedora if you skip this step :(
# if you are running on Mac OS X, install git, mysql, probably homebrew as well
# we suggest you create a new folder to put the amahi development code, then in it run:
# <code>git clone git@github.com:amahi/platform.git</code>
# <code>cd platform</code>
# <code>bundle install</code> (this will take a while and install all the necessary gems)
# <code>rake db:create</code> this will ask for the mysql root password with a prompt ">"
#* if this is a fresh Fedora 18 install, your mysql server probably does not have a password, so just press Enter
#* if you set a password for the mysql root user, type it. Note that it will show a warning and echo the password!
#* if you are re-running this step and the db is already created, you can run rake db:drop first then create it again
# <code>rake db:migrate</code> (this will get the database up to snuff)
# <code>rake db:seed</code> (this will get a basic database setup)
# rails s (this will start the rails server)
 
The development dashboard can be reached with your favorite browser at:
 
<code>http://localhost:3000</code>
 
There is an initial user created called <code>admin</code> with password <code>admin</code>. Login should work out of the box.
 
To stop the development server, just hit <code>Ctrl+C</code> in the terminal where you started the server.
 
== Running Tests ==
 
A great way to contribute is to write tests. The spec tests are in the <code>spec/</code> directory. To run them:
 
rake spec
 
It will show you one dot per test passing. It will show test fails with F and display the error.
 
You may need to
 
yum install rubygem-minitest
 
to get things to run properly for some reason that we did not root cause yet.
 
= Old, obsolete info for Amahi 6 =
First you need to get the latest git repository (see how on the [[Contribute]]-page)
After you've got the latest master branch you need to switch to the amahi-6-devel edge branch (and tell git to follow it on the remote server):
<code>git checkout amahi-6-develedge</code>
The amahi-6-devel edge code uses a different database for it's data so we need to create one, copy the production data in it and migrate it to the new datamodel:
* Go to <code>/path/to/git/clone/platform/platform</code>
* Execute <code>./hda-create-db-and-user amahi_6_develamahi_devel</code>
* Go to <code>/path/to/git/clone/platform/platform/html/script</code>
* Execute <code>./db-duplicate hda_production amahi_6_develamahi_devel</code>
* Go to <code>/path/to/git/clone/platform/platform/html</code>
* Execute <code>rake db:migrate</code>
Now we have a working amahi-6-devel edge branch which can be used to develop features, gadgets, widgets and fix bugs.
To reach the amahi-6-devel edge branch you need to go to <code>/path/to/git/clone/platform/platform/html</code> and execute
<code>./script/server amahi_6_devel</code> The development dashboard can be reached with your favorite browser using the link <code>http://ip.addr.of.dev:3000</code> To stop the development server, just hit <code>Ctrl+C</code> in the terminal where you started the server.
= How to install one Gadget =
= Tips =
* Start with VM with virtual machine snapshots. Take a snapshot of your VM to beginat the beginning, in case you have to revert, and take a snapshot as you progress through milestones.
* If you do not have a VM, take a snapshot of your development database. You can use ./script/db-duplicate and ./script/db-restore (use with care!)
* Don't forget, the Amahi forum has a section for [http://forums.amahi.org/viewforum.php?f=41 virtualization], in case you're looking for some input in that area.
12,424

edits