[Commotion-dev] DR1 Quickstart

seamus tuohy s2e at opentechinstitute.org
Tue Feb 26 19:02:02 UTC 2013


On 02/26/2013 12:36 PM, Ben West wrote:
> Hi Andrew,
>
> Thanks for following up, and yes, I've been playing around with the 
> Version02 branch.
>
> I guess I didn't yet get a firm answer on this question, although 
> naturally I understand everything here is still a moving target:
>
> - In the absence of a working commotiond, can you configure a node 
> fully via Quickstart, if you simply paste all needed config values 
> into the www UI?

Nope, not without custom uci calls. The CBI system does not support 
stacking or procedurally generated uci maps. To compensate for this I 
integrated the appropriate UCI calls into each modules "parsing" 
function if it is desired. We have pushed most of this over to the 
daemon in the current version.

Many custom uci calls for modifying the various aspects of the node 
exist further back in the repo. You can look at the set_uci function at 
commit 79c23225c259e1adb296d620d7c2b27b83363c55 "finalized alpha demo 
version of the Quickstart wizard" for an example of how I handled that. 
Please forgive the abhorrent case statement structure I cobbled together 
to handle this.

Version 003 will build upon version 001 to allow for mini-quickstarts 
for individual luci pages. This will abandon the case-statement style of 
version one and use a uci modification template much like the cbi 
system, but with a greater ability for customization on the fly. This 
will also allow us to start to build up a cohesive set of functions for 
various uci files. This will be after DR1 is released and tested though.

s2e

>
> On Tue, Feb 26, 2013 at 10:06 AM, Andrew Reynolds 
> <andrew at opentechinstitute.org <mailto:andrew at opentechinstitute.org>> 
> wrote:
>
>     Ben,
>
>     Did you ever get an answer to this?
>
>     Both master and Version02 should work for now, since Seamus has
>     not yet
>     begun hooking it up to commotiond. Use Version02 if you can. It's a
>     whole different beast than master.
>
>     I'm about to redo the quickstart template to improve the language and
>     take advantage of the new OpenWRT theme.
>
>     -andrew
>
>     On 02/21/2013 07:43 PM, Ben West wrote:
>     > Hi Saemus,
>     >
>     > Thank you for the detailed response.
>     >
>     > I do see the commotionDaemon() function here, and it looks like
>     it is
>     > indeed piping hot (i.e. last changes committed w/in hours).
>     >
>     https://code.commotionwireless.net/projects/commotion-quick-start/repository/entry/usr/lib/lua/luci/controller/QS/QS.lua?rev=Version02
>     >
>     > Indeed, I'm glad to see Josh has managed to get himself
>     incorporeally
>     > ported into luci.  That's pretty awesome. ;)
>     >
>     >    elseif request == 'I NEED A CONFIG JOSH' then
>     >       return nil
>     >    elseif request == 'engage' then
>     >       --TODO incorporate the final ubus add/select sections here
>     > ...
>     >
>     > Is the Quickstart presently in either the master or Version02
>     branch OK to
>     > run w/o the commotionDaemon component?  I.e. could one just
>     manually enter
>     > all config via www UI?
>     >
>     > Also, do please respond if there is anything I could do to help.
>     >
>     > On Thu, Feb 21, 2013 at 4:26 PM, Seamus Tuohy
>     <s2e at opentechinstitute.org <mailto:s2e at opentechinstitute.org>>
>     > wrote:
>     >> Hey Ben,
>     >>
>     >> See in-line comments below.
>     >>
>     >>
>     >> On 02/21/13 17:02, Ben West wrote:
>     >>>
>     >>> Hi Seamus,
>     >>>
>     >>> Thank you for writing such a thorough introduction on
>     Quickstart, and
>     >>> thanks for all your hard work!
>     >>>
>     >>
>     >> Happy to do it. Excited you read it.
>     >>
>     >>
>     >>> I'm working to get compile, working versions of Commotion DR1 /
>     >>> Quickstart on my end for ar71xx, atheros, and x86.  The latter
>     >>> platform is to permit simulation of nodes under VirtualBox/VMware.
>     >>>
>     >>> I see these repository URLs for the Quickstart tool:
>     >>>
>     >>>
>     >
>     https://code.commotionwireless.net/projects/commotion-quick-start/repository
>     >>>
>     >>>
>     >
>     https://code.commotionwireless.net/projects/commotion-quick-start/repository/show?rev=Version02
>     >>>
>     >>> Likewise this wiki page:
>     >>>
>     https://code.commotionwireless.net/projects/commotion/wiki/QuickStart
>     >>>
>     >>> May I pepper you with assorted questions to help started quicker?
>     >>>
>     >>> 1. Does Quickstart depend on a specific revision of OpenWRT
>     12.09, or
>     >>> is whatever current revision of Attitude Adjustment so far OK?
>     >>>
>     >>
>     >> Quickstart does not depend on a specific revision of OpenWRT.
>     In fact all
>     >> development and testing so far has been on a Attitude
>     Adjustment node that
>     >> does not run commotion at all. That being said, the current
>     development
>     >> version is almost entirely Dependant upon a testing function
>     >> "commotionDaemon" for network information and setting configs
>     on the node,
>     >> which will eventually rely on the commotion daemon.
>     >>
>     >>
>     >>
>     >>> 2. Does Quickstart still have any lingering dependencies on the
>     >>> commotionbase, luci-commotion, and luci-theme-commotion
>     packages from
>     >>> the previous iteration of Commotion-OpenWRT?
>     >>>
>     >>>
>     >
>     https://code.commotionwireless.net/projects/commotion-openwrt/repository/revisions/master/show/commotionfeed/commotionbase
>     >>>
>     >>>
>     >
>     https://code.commotionwireless.net/projects/commotion-openwrt/repository/revisions/master/show/commotionfeed/luci-commotion
>     >>>
>     >>>
>     >
>     https://code.commotionwireless.net/projects/commotion-openwrt/repository/revisions/master/show/commotionfeed/luci-theme-commotion
>     >>>
>     >>
>     >> Not at the moment. We are currently removing its custom css and
>     html in
>     >> order to integrate it with the existing openwrt/luci html/css,
>     and we are
>     >> encountering a few problems. By the DR1 release we will be
>     including a
>     >> Quickstart specific set of css that will hopfully fix those
>     problems and
>     >> allow it to be used with any theme.
>     >>
>     >>
>     >>> 3. Likewise, is this collectd patch still needed?
>     >>>
>     >>>
>     >
>     https://code.commotionwireless.net/projects/commotion-openwrt/repository/revisions/master/changes/patches/910-fix-out-of-bounds-index.patch
>     >>>
>     >>
>     >> That is a whole other bag of worms that I don't know much
>     about. Does
>     > anyone
>     >> at Commotion HQ have any info on where collectD sits these days?
>     >>
>     >>
>     >>> 4. Is Quickstart intended to completely replace the meshconfig
>     tool
>     >>> from the commotionbase package?
>     >>
>     >>
>     >> Quickstart is going to act as a new-user front end for the
>     commotion
>     > daemon.
>     >> So, I will contort this question for Josh, even though I
>     beleive the
>     > answer
>     >> will be yes. Josh, is "the commotion daemon" intended to completely
>     > replace
>     >> the meshconfig tool from the commotionbase package?
>     >>
>     >>
>     >>>
>     >>> 5. Does Quickstart have any integration with the luci-splash
>     package,
>     > yet?
>     >>>
>     >>
>     >> I have a patch that I have yet to push to the repository which
>     alters
>     >> luci-splash to check for if quickstart has been set to
>     "complete" and send
>     >> the user to quickstart instead of the splash page on first
>     boot. I have
>     > yet
>     >> to make a patch that can be integrated into the package yet.
>     >>
>     >>
>     >>> 6. Finally, is the Version02 branch of Quickstart missing a
>     Makefile?
>     >>>
>     >>>
>     >
>     https://code.commotionwireless.net/projects/commotion-quick-start/repository/show?rev=Version02
>     >>>
>     >>
>     >> It is missing a makefile. The makefile we were using in main
>     should be
>     > able
>     >> to be ported over since it merely copies all the files to the root
>     > directory
>     >> and follows the path to their destinations. Andrew, I know you were
>     > working
>     >> on that makefile. Is the current version in the main branch?
>     >>
>     >> Finally,
>     >>
>     >> The quickstart path is just finishing up review with our field
>     team and
>     > will
>     >> be redone based off of their critique and testing next week. At
>     the end of
>     >> that week, and the following week I will be working on
>     documenting how
>     >> communities and developers can make their own custom quickstart
>     paths and
>     >> functions.
>     >>
>     >>
>     >> s2e
>     >>
>     >>
>     >>> On Wed, Jan 23, 2013 at 10:24 AM, Seamus Tuohy
>     >>> <s2e at opentechinstitute.org <mailto:s2e at opentechinstitute.org>>
>     wrote:
>     >>>>
>     >>>> Hello All,
>     >>>>
>     >>>> A quick update on the quickstart interface I am putting
>     together for
>     >>>> developer-release one. The quickstart is a "on first boot"
>     interface
>     >>>> that walks a user through customizing a node. This is
>     intended to make
>     >>>> the initial setup of a node trivial for a new user. The
>     current version
>     >>>> is missing the "one-button" setup. This should be added by
>     the start of
>     >>>> next week.
>     >>>>
>     >>>> Version 001 of this quickstart was a "mostly" functional luci
>     interface
>     >>>> which set the various configuration files on the node.
>     Version 002 (the
>     >>>> current branch) only configures a nodeConf uci file which the
>     upcoming
>     >>>> commotion daemon will use to configure the node at the
>     conclusion of the
>     >>>> quickstart. As such, the current version will spend of its time
>     >>>> customizing uci files and making ubus calls to the commotion
>     daemon to
>     >>>> fetch data.
>     >>>>
>     >>>> You can find the controlling code at
>     >>>>
>     >
>     https://github.com/opentechinstitute/commotion-quick-start/tree/Version02
>     >>>> .
>     >>>> If you want to run it you will have to also grab the www
>     directory from
>     >>>> the main branch at
>     >>>> https://github.com/opentechinstitute/commotion-quick-start which
>     >>>> contains the icons, etc.
>     >>>>
>     >>>> To put it on a router you simply copy the www folder into the
>     main repo
>     >>>> directory (I will update the repo later today to include
>     this) and then
>     >>>> scp it over to the routers root directory recursively. Once
>     you have
>     >>>> done this you can go to IPADDRESS/cgi-bin/luci/QuickStart to
>     start the
>     >>>> quickstart.
>     >>>>
>     >>>> The whole quickstart configuration can be found in
>     >>>> /etc/config/quickstart. This contains one "quickstart"
>     section titled
>     >>>> "options" and multiple "page" sections. "options" holds the
>     current and
>     >>>> last pages as well as a variable that controls weather the
>     Quickstart
>     >>>> page is accessible. We disable it after completion because it
>     allows
>     >>>> non-admin users to manipulate root level controls. A "page"
>     contains
>     >>>> title that is either a number (this is how the controller
>     iterates
>     >>>> through the quickstart) or a title that represents a side page.
>     >>>>
>     >>>> Each page has set of title information for its display. The
>     page also
>     >>>> contains a "buttonText" item that specifies the text to be
>     placed on any
>     >>>> button that links to it in the quickstart. A "page" can
>     contain up to
>     >>>> two lists. The first list is modules. This list pulls content to
>     >>>> populate the main section. In our quickstart I have separated
>     most pages
>     >>>> to include only one content section. There is nothing to stop
>     someone
>     >>>> from customizing a page that holds multiple content items.
>     Modules call
>     >>>> a <modulename>Renderer function in the controller when the
>     page is
>     >>>> initially rendered, and a <modulename>Parser function when
>     data from a
>     >>>> page is submitted. This means that if you want your own
>     module you
>     >>>> simple add it to a page and create a renderer and a parser
>     function.
>     >>>> Renderer's send initial variables to the page and parsers
>     process user
>     >>>> input and send back errors that possible occur in the
>     page.They stack
>     >>>> quite well. Lastly a "page" can contain a button list.
>     Buttons call
>     >>>> <buttonname>Button functions when pressed that load up side
>     pages.
>     >>>> noBack and noNext buttons remove the auto-generated last and next
>     >>>> buttons to allow for specialized pages.
>     >>>>
>     >>>> Lastly, when you get to the "this node will reset page" on
>     version two
>     >>>> you will have to refresh your browser, as I have removed the
>     actual
>     >>>> reset functionality from the quickstart to give more control
>     to the
>     >>>> daemon. Refreshing the router here will take you to the next
>     page.
>     >>>>
>     >>>> We still have a ways to go on "prettifying" the quickstart
>     and updating
>     >>>> the language, and I have yet to implement the ubus calls or
>     to upload
>     >>>> the patches I have made to take over the captive portal. But,
>     please let
>     >>>> me know any feedback you may have. I will send the updated ux
>     map and
>     >>>> language when it finishes our current round of feedback.
>     >>>>
>     >>>>
>     >>>> Thanks
>     >>>> s2e
>     >>>>
>     >>>>
>     >>>>
>     >>>> _______________________________________________
>     >>>> Commotion-dev mailing list
>     >>>> Commotion-dev at lists.chambana.net
>     <mailto:Commotion-dev at lists.chambana.net>
>     >>>> https://lists.chambana.net/mailman/listinfo/commotion-dev
>     >>>>
>     >>>
>     >>>
>     >>>
>     >>
>     >
>     >
>     >
>     > _______________________________________________
>     > Commotion-dev mailing list
>     > Commotion-dev at lists.chambana.net
>     <mailto:Commotion-dev at lists.chambana.net>
>     > https://lists.chambana.net/mailman/listinfo/commotion-dev
>     >
>
>
>
>     _______________________________________________
>     Commotion-dev mailing list
>     Commotion-dev at lists.chambana.net
>     <mailto:Commotion-dev at lists.chambana.net>
>     https://lists.chambana.net/mailman/listinfo/commotion-dev
>
>
>
>
> -- 
> Ben West
> http://gowasabi.net
> ben at gowasabi.net <mailto:ben at gowasabi.net>
> 314-246-9434
>
>
> _______________________________________________
> Commotion-dev mailing list
> Commotion-dev at lists.chambana.net
> https://lists.chambana.net/mailman/listinfo/commotion-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.chambana.net/pipermail/commotion-dev/attachments/20130226/3ecf6f5d/attachment-0001.html>


More information about the Commotion-dev mailing list