← Back to team overview

dubuntu-team team mailing list archive

Re: Functionality and design

 

Great ideas Charl but i think maybe just C++ for the backend of the installer and im just using a python wrapper for GTK+ for the GUI.

> From: charl.wentzel@xxxxxxxxxxxxxx
> To: dubuntu-team@xxxxxxxxxxxxxxxxxxx
> Date: Mon, 6 Jul 2009 10:38:10 +0200
> Subject: [Dubuntu-team] Functionality and design
> 
> Hi Guys
> 
> I think it would be a good idea if we created a quick thread to through
> around a few ideas on the system design and functionality before I
> update the wiki.
> 
> 1. Language
> Both Python and C++ were suggested for the development of the installer;
> Python for its spead of development, C++ since it is the core on which
> Linux was build and the language most people know.  They are both great
> and I don't mind either.  So I guess its up to you guys to decide.
> 
> 2. Apt
> Since we'll be installing packages it makes sense using the tools that
> are already available.  The best one for us would be apt (apt-get and
> related tools).  Once you've worked your way through the questions and
> selected the options you want apt will do the actual installing of
> packages.  
> 
> And of course both Python and C++ have API's/libraries for apt, so
> building an app with apt integrated into it is also possible.
> 
> 3. Database
> The knowledge base must be stored in a database.  There were some
> discussions on the use of a database.  MySQL was suggested.  It also
> allows you to build the database directly into the application rather
> than using a db server or client.
> 
> This will require carefull consideration.  We might want to access both
> the database on the Devbuntu site and(/or) a local copy.  The server
> installation will cover both, but will also require the database server
> to run on the local machine.  Suggestions?  Maybe MySQL client to access
> the web server and integrated client libraries to access the local copy?
> 
> 4. Application Definition
> XML was suggested for storing the questions, categories, etc. which
> defines how the installer would work.  This is a cool idea as this would
> allow each application for the installer (eg. development, multimedia,
> education, etc) to have its own operation/identity.  In fact an upgrade
> for the installer might actually just be an update of the application
> definition and not the executables
> 
> Of course MySQL could also be used to store this info, but if you want
> to store information about the database to use, it will have to be in a
> file.  On the other hand, XML is much easier to manipulate by manually
> if you want to develop (or play with) the installer.
> 
> 5. DevBuntu API
> Most of the above will have to be packaged in a library on which we can
> build the different interfaces... and of course to allow the creative
> comuity out there to create there own front-ends.  This library/API will
> probably take a lot of effort to design.
> 
> We'll need to consider all the operations/functions we wish to perform
> and allow for flexible commands to do it with.  This might actaully be
> done parallel with designing a gui as the gui will give you a great idea
> of what you need.
> 
> 6. CLI
> We've spoken about using the CLI to support legacy, but after thinking
> about it, it might not be so practical.  How do you guide someone
> through questions and selections on the command line and still have
> something that is user-friendly.  If you must ncurses seems to be the
> better route if you have to go text.
> 
> 7. GUI
> The most obvious starting point would be GTK+ as this covers the "main
> stream" Ubuntu.  A Qt version can also be done for the Kubuntu guys,
> etc...  as long as they both use the same DevBuntu API.
> 
> So this is the structure the way I see it:
> 
>    |------Possible Front-ends-------|
>    NCurses      GTK+       Qt   .....
>        \         |         /
>         \        |        /
>         DevBuntu API/Library
>         /        |        \
>        /         |         \
>  KnowlegeBase   Apt     App Def File
>    (MySQL)   (apt-get)      (XML)
>  |-------Tools/dependencies--------|
> 
> 
> Does this work for you?  Would love to hear your comments.
> 
> Charl
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~dubuntu-team
> Post to     : dubuntu-team@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dubuntu-team
> More help   : https://help.launchpad.net/ListHelp

_________________________________________________________________
View photos of singles in your area Click Here
http://dating.ninemsn.com.au/search/search.aspx?exec=go&tp=q&gc=2&tr=1&lage=18&uage=55&cl=14&sl=0&dist=50&po=1&do=2&trackingid=1046138&r2s=1&_t=773166090&_r=WLM_EndText

References