Application for GSoC Project - Package WebUI
John (J5) Palmieri
johnp at redhat.com
Thu Mar 27 23:50:44 UTC 2008
On Fri, 2008-03-28 at 00:25 +0100, Mark wrote:
> 2008/3/27, John (J5) Palmieri <johnp at redhat.com>:
> >
> > On Thu, 2008-03-27 at 21:38 +0100, Mark wrote:
> > > 2008/3/27, John (J5) Palmieri <johnp at redhat.com>:
> > > > So, MyFedora, while being developer targeted is taking a user designed
> > > > approach. What this means is that instead of displaying all the
> > > > information in the world about a subject (say packages) it displays the
> > > > most common actions and information a developer would need in their day
> > > > to day work. For instance, I am working on the build page and what it
> > > > shows is what builds were done for a package, if there is an error it
> > > > will display a link for the log that is most likely to have the error in
> > > > it. If there are downloads available it will show only the package and
> > > > sub packages, excluding debuginfo and devel for the arch the user is
> > > > running on. There is a more link to see all of the downloads so I do
> > > > add some drill down facilities but it is not a priority. The part I am
> > > > working on now is if the package is in testing or candidate repos and
> > > > you have the rights to request a push it will have an action to push to
> > > > a release via bodhi. And that is just the builds page. In every case I
> > > > pull from our existing tools via json or xmlrpc instead of recreating
> > > > databases.
> > > >
> > > > Now that I have outlined the development mentality for MyFedora I have a
> > > > couple of ideas where this GSoC Project should fit in.
> > > >
> > > > First, there are two elements we want to consider, a package database
> > > > and an application database. Users care about applications (a
> > > > collection of packages which make up a program which is usually launched
> > > > from a menu), developers care about package (a collection of
> > > > interrelated files and rules for putting them on a disk as well as
> > > > specifying dependencies). One tool could most likely have a UI and DB
> > > > to fit both with minor tweaks.
> > > >
> > > > If you want to just make a data mining tool it will most likely be
> > > > better off as a separate TurboGears project in which MyFedora could
> > > > access its data based off of specific packages.
> > > >
> > > > If you wanted it to be part of MyFedora you will have to think in terms
> > > > of the users, what do they want to see, how do they want to see it, what
> > > > actions would they need and how does it integrate with other Fedora
> > > > tools.
> > > >
> > > > Personally if it was part of MyFedora I would want it to be much more
> > > > than just a view into a package. I would want people to be able to
> > > > write comments, have annotations for the next build, be able to trace
> > > > unneeded dependencies, be able to see and download patches to send to
> > > > upstream, and it should be able to do this without looking like the barf
> > > > of information the Debian package db is (however useful that barf of
> > > > information is ;) In other words it should be a tool towards making
> > > > fedora packages and the upstream sources they pulled from better.
> > > >
> > > > If you are up for that challenge (and I am not saying you have to get it
> > > > all done but move in that direction) then it will be a perfect fit for
> > > > MyFedora. I would be happy to mentor.
> > > >
> > > >
> > > > --
> > > > John (J5) Palmieri <johnp at redhat.com>
> > >
> > > I'm interested and willing but python stops me..
> >
> >
> > What are you good at? Even having someone write templates and
> > javascript are important. 70% of my work is in JavaScript with JSON.
>
> I can do javascript with jQuery
> and i can probably do JSON as well.
> templates is also not a problem
>
> > The backend is there to pull data. Also, this is Summer of Code, a good
> > time to learn something new if you already know other server side
> > languages. TurboGears and python is pretty much our infrastructure. It
> > makes doing things like utilizing FAS2 for single sign-on quite easy.
>
> yeah learn something new.. well i want to learn C, C++ and Vala.
> python isn't really high on that list but i also want to learn that
> one. (damn that's gonna be a lot of programming languages in my head
> (php, java, c, c++, vala, html, css, python, javascript))
>
> >
> >
> > > Are there any docs on that koji database communication with xmlrpc?
> >
> >
> > That is all done with the koji python module. It can't be done via pure
> > javascript because of browser security preventing cross site
> > communications. Basically what I do is setup a json call on MyFedora
> > and have that call the xmlrpc from the server.
>
> bottleneck... no python knowledge (yet)
>
> >
> >
> > > if so.. where are they?
> >
> >
> > yum install koji
> > koji --list-apis
>
> nice
>
> >
> > That will show you the api's.
> >
>
> Thanx for the info
>
>
> 2008/3/28, John (J5) Palmieri <johnp at redhat.com>:
> >
> > On Thu, 2008-03-27 at 23:00 +0100, Mark wrote:
> > > Oke everyone i made a nice little html + javascrip page of a possible
> > > solution to make it suitable for the developer AND the completely new
> > > linux users. Take a look here [1] and see for yourself.
> > >
> > > I didn't spend any time at the look (obvious) but it's just to get the
> > > idea of what is possible today. the link works 100% fine in FF but IE
> > > might show it a little different.
> > >
> > > So what do you think of it? btw.. done in about 40 minutes. Also the
> > > ajax technology is NOT used in this example but if something like this
> > > is gonna be made for real than i think using ajax here to load the
> > > developer information would be a perfect fit.
> > >
> > > [1] http://fedora-webui.mageprojects.com/
> >
> >
> >
> > Looks good, a couple of comments:
> >
> > This is more suited to an application view as you have the install link.
> > For package view I would want to see the latest versions built and
> > released in each of the important repos (devel, F-8, F-7, RHEL-5,
> > RHEL-4, RHEL-3) with the ability to see all the builds.
>
> Agreed
>
> > If a specific
> > package version is selected it should show if it is released and in what
> > version.
>
> Well.. this is just a example of how it could look.. Agreed on the
> idea but can be different in other packages
>
> > The icon should be grabbed from the package if it has one,
> > same with the description (perhaps we could allow wiki like editing here
> > for better descriptions, but I feel that is only good if it can somehow
> > update the package too).
>
> Hehe this is just html and javascript ^_^ i didn't add in full xmlrpc
> and json calls to get that information but again Agreed! The wiki like
> idea is awsome but that it would have to have right permissions to the
> koji database in the specfile section. And for that (to keep somekind
> of a log) it would probably be best to split the specfile in sections
> in the database. so the %description is in a seperate column, the
> %files list is in a seperate column etc..
>
> >
> > If you are doing packages it is geared towards developers anyway so
> > there is no need for the Developer Info link. Instead I would have
> > direct links above the comments or even as a sidebar for things like
> > patches, source tarball download, dependency tracker, etc. For things
> > that are useful to be on the main page but hidden such as file lists
> > another section that when clicked on expands.
> >
>
> That's a lot of stuff to hide and have links to. Perhaps there should
> just be a "More information" that opens the sidebar in which you can
> choose what information you would like to see. Than the sidebar
> contains _everything_ that is known of the package. That would be
> better i think. So partly agreed with modifications.
>
> > Oh and upstream info is just as important as the package info so the
> > upstream stats such as where to get the original sources and homepage
> > info. In the future even showing that a new version has been released
> > would be great but one step at a time.
> >
>
> I can't imagine that those things can be hard to add _unless_ that
> information is not stored in it's own column and thus has to be
> grabbed out of the specfile. and the new version release should be
> possible now judging from the koji tags i see everywhere....
>
> I will try to add in that sidebar stuff tomorrow just to see how that
> would work. also making the page on 100% width.
Another good thing to do before diving to far into the mockup is to take
a screenshot of various package web systems and in the gimp or in a
similar way, point out the sections which are important so we can assign
labels. I would suggest setting up a wiki page off of the MyFedora wiki
page (http://fedoraproject.org/wiki/MyFedora) for package info. Once we
have a list of labels you can then do the mockup using the labels as
placeholders. We can drill down this way to finally get a list of data
you want to grab. I can then fill in the backend from there.
BTW here is the style sheet I am using (it is not complete yet):
https://fedorahosted.org/myfedora/browser/myfedora/static/css/myfedora-style.css
and the genshi template gives you an idea of the structure we use:
https://fedorahosted.org/myfedora/browser/myfedora/templates/packages/master.html
https://fedorahosted.org/myfedora/browser/myfedora/templates/packages/builds.html
The template language may look a bit weird at first but you don't have
to worry about loops and such, just how the css elements are used.
--
John (J5) Palmieri <johnp at redhat.com>
More information about the fedora-devel-list
mailing list