English  

Diferencia entre revisiones de «Guifi.net Studio»

De Guifi.net - Wiki Hispano

 
(No se muestran 31 ediciones intermedias realizadas por 3 usuarios)
Línea 1: Línea 1:
''Under development...''
+
[[Archivo:Screenshot_guifinet_studio_v0.7.png|500px|right]]
  
== Identity ==
+
'''Guifi.net Studio''' es una aplicación de escritorio desarrollada por [[Usuario:Pablog|Pablo Castellano]] como proyecto [[Google Summer of Code]] durante el verano de 2012. La aplicación está desarrollada en Python/GTK+ y tiene una licencia de software libre GPLv3+.  
'''Name:''' Pablo Castellano<br>
+
'''Email:''' pablo+at+anche.no<br>
+
'''Project title:''' CNML Explorer
+
  
== Contact/working info ==
+
La última versión estable disponible es la 0.7 y está disponible tanto en el repositorio Git como en los repositorios Ubuntu/Debian de Guifi.net. Para más información consulta la sección [[#Instalación]].
'''Timezone:''' UTC+2<br>
+
'''Typical working hours:''' I prefer evenings and late nights<br>
+
'''IRC or IM networks/handle(s):''' pablog@FreeNode, my email address also as Jabber account
+
  
== Project summary ==
+
Para más información puedes consultar la [http://en.wiki.guifi.net/wiki/User:Pablog/GSoC2012/Guifi.net_Studio propuesta inicial del proyecto] (en inglés) o la '''[http://blip.tv/guifimedia/sax2012-a-terres-de-l-ebre-google-summer-of-code-6382664 presentación]''' grabada en el [[SAX 2012]].
In order to understand better this project, you need to know first what is CNML. You can have a look to [[CNML|this article]].
+
  
My proposal is developing a desktop application to manage these files. I will be useful for people that administer zones, workers that install Guifi.net nodes... etc.
+
Para más información hay también disponibles una serie de informes hechos durante la fase de desarrollo donde se puede apreciar la evolución del software:
 +
# [http://lainconscienciadepablo.net/content/gsoc-report-0-documentation GSOC Report #0: Documentation]
 +
# [http://lainconscienciadepablo.net/content/gsoc-report-1-maps GSOC Report #1: Maps]
 +
# [http://lainconscienciadepablo.net/content/gsoc-report-2-libs-and-apis GSOC Report #2: libs and APIs]
 +
# [http://lainconscienciadepablo.net/content/gsoc-report-3-unsolclic-and-libcnml GSOC Report #3: unsolclic and libcnml]
 +
# [http://lainconscienciadepablo.net/content/gsoc-report-4-libcnml-ready GSOC Report #4: libcnml ready]
 +
# [http://lainconscienciadepablo.net/content/gsoc-report-5-pyguifiapi GSOC Report #5: pyGuifiAPI]
 +
# [http://lainconscienciadepablo.net/content/gsoc-report-6-gui-guifinet-api GSOC Report #6: GUI + Guifi.net API]
 +
# [http://lainconscienciadepablo.net/content/gsoc-report-7-pencils-down GSOC Report #7: Pencils down!]
 +
# [http://lainconscienciadepablo.net/content/gsoc-final-report GSOC Final Report]
  
CNML files offer a lot of possibilities that are not being exploited actually. It can also be used for statistics, data visualization, which will help people in their studies, or thesis about libre networks.
+
== Características ==
 +
* Explorar archivos CNML sin conexión a Internet usando los mapas de [[OpenStreetMaps]]
 +
* Exportar [[CNML]] a otros formatos como KML
 +
* Generar configuración [[unsolclic]] usando el método de las plantillas
 +
* Descargar y organizar archivos CNML usando la interfaz gráfica
 +
* Crear nodos/zonas/dispositivos y demás usando la [[API]] de Guifi.net
 +
* Tiene soporte para distintos servidores de Guifi.net
 +
* Calculadora inalámbrica integrada
 +
* Otras herramientas cono traceroute visual, encontrar el nodo al que corresponde una IP usando CNML...
  
This application will load a CNML file and show its contents in friendly windows. Users will be able to filter nodes or zones by name, coordinates or hardware used.
+
== Instalación ==
 +
=== Desde repositorio ===
 +
Añadir [[repositorio]] (ejecutar como root):
 +
echo 'deb http://serveis.guifi.net/repo/debian/ guifi/ ' > /etc/apt/sources.list.d/guifinet.list
 +
apt-get update
 +
apt-get install guifinet-studio
  
It could also be a first step to develop a client that allowed users to modify their nodes by means of an API without having to use their web browsers.
+
=== Desde Git ===
 +
Instalar Git y las dependencias de guifinet-studio (consulta el archivo [https://gitorious.org/guifi-altres/guifinetstudio/blobs/master/README README] para más información):
 +
* Ubuntu/Debian (ejecutar como root):
 +
apt-get install git python2.7 gir1.2-gtkchamplain-0.12 git python-lxml python-jinja2 \
 +
python-kml gir1.2-gtkclutter-1.0 python-kml python-twisted-core python-jinja2
  
It will also use some library (not decided yet) to show nodes in the world map like OpenStreetMap (OSM). In particular, OSM would allow final users to visualize nodes in the map without requiring any Internet connection as the maps are free and can be cached in disk.
+
Clonar el repositorio público de Gitorious:
 +
git clone git://gitorious.org/guifi-altres/guifinetstudio.git
  
Another interesting function would be implementing 'unsolclic' in CNML Explorer, so that users could also generate their configuration files for their nodes offline and administrators could debug better network configurations.
+
'''NOTA:''' si vas a instalarlo desde [[Guifi.net]] mediante un proxy, tienes que definir el proxy para git en el archivo <code>~/.gitconfig</code>
 +
[http]
 +
        proxy = http://''user'':''pass''@''ip.del.proxy'':3128
  
I will develop it using [[wikipedia:Python (programming language)|Python]] and [[wikipedia:GTK+|GTK]] as I already control and have experience in both. It would be cool to write it in [[wikipedia:Vala_%28programming_language%29|Vala]], but it would take me more time learning Vala as I don't actually know too much about it. I prefer to focus on the functionalities and Python is a language that permits you to develop quickly.
+
Clonar el repositorio público de Gitorious vía http:
 +
git clone http://git.gitorious.org/guifi-altres/guifinetstudio.git
  
The idea of this project came to me during Summer 2011 and I started it. Unfortunately I couldn't spend much time on it, so what I did is only a proof of concept. Working on it full time during the Summer 2012 would be amazing :)
+
Ir al directorio donde se ha descargado la aplicación y ejecutarla:
 +
cd guifinetstudio/
 +
./guifinet-studio
  
You can have a look to the code in my GitHub repository<ref>[https://github.com/PabloCastellano/pablog-scripts/tree/master/guifi/cnml_explorer pablog-scripts], GitHub repository</ref>. As a picture is worth a thousand words, here there are two screenshots:
+
== Cómo colaborar ==
 +
Puedes colaborar reportando fallos en [[trac.guifi.net]], corrigiendo fallos (bugs) o aportando ideas.
  
[[Archivo:Cnml_explorer2.png|500px]] [[Archivo:Cnml_explorer1.png|300px]]
+
== Enlaces externos ==
 
+
* [http://trac.guifi.net/query?status=accepted&status=assigned&status=new&status=reopened&component=Guifi.net+Studio&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&order=priority Bugs abiertos en el Trac]
== About you ==
+
I'm currently studying Computers Engineering in the [[wikipedia:Autonomous University of Barcelona|Autonomous University of Barcelona (UAB)]]. I'm a geek and free software supporter who has been dealing with Linux since I was 13 (now I'm 23). I enjoy working in projects with social benefits. My favorite programming languages are Python and C.
+
 
+
Participating in GSoC is one of the things I wanted to do during my academic life. It's very exciting and Guifi.net is a big community which I like and needs more developers. Last year I tried to participate in the Mediawiki project but it was a very hasty decision and finally I didn't.
+
 
+
== Deliverables ==
+
 
+
=== Required deliverables ===
+
* Desktop application based in GTK to read CNML files with the following features:
+
** Filtering options
+
** View nodes in map
+
** Unsolclic
+
*** Add support for hybrid nodes
+
** Export subzone to another file
+
** Export to other formats like .gml or .kml (Google Earth).
+
 
+
These are for me the most important features. Here there's a list of more features I will implement with no particular order (I can prioritize some or implement new ones according to the community interests):
+
* Cache OSM data (I don't know if any library already does it)
+
* Different ways to visualize nodes in the map. The user can change the color, thickness and type of the line that links two nodes; show supernodes only; show supernodes with >=N links...
+
* The main window can have two modes of visualization: 1) Map (default) 2) Node list
+
* Check CNML integrity twice
+
* Improve integration with drupal-guifi
+
* Check wrong MAC address, zones, ip ranges...
+
* Integrate with map profile
+
* Generate HTML report of any zone/node
+
* Add new radios/devices and save to a new CNML
+
* If Drupal API existed, user could log in with its guifi.net username and upload changes made locally to CNML
+
 
+
=== If time permits ===
+
* Any of the features enumerated before
+
* Ncurses and command line interface.
+
* Guifi.net API
+
* I will help to move forward the CNML specification
+
* I will send patches to Guifi.net if necessary.
+
 
+
== Project schedule ==
+
=== Community Bonding Period ===
+
* April 23 - April 29
+
* April 30 - May 6
+
  - Read documentation about libraries I will use.
+
  - Familiarize with CNML and other similar formats
+
  - Contact people that was already involved in the CNML specification and talk with them (I have already started it).
+
 
+
* May 7 - May 13
+
 
+
* May 14 - May 20
+
 
+
=== Official Coding Period ===
+
* May 21 - May 27
+
  - Design Graphic User Interface
+
  - Think about the whole application design.
+
* May 28 - June 3
+
 
+
* June 4 - June 10
+
 
+
* June 11 - June 17
+
 
+
* June 18 - June 24
+
  - I have my final exams between these dates, so I won't have so much free time to work on GSoC :-(
+
    Depending on my time I will be more or less testing and thinking on the next tasks.
+
 
+
* June 25 - July 1
+
 
+
* July 2 - July 8
+
 
+
* July 9 - July 15
+
 
+
* July 16 - July 22
+
 
+
* July 23 - July 29
+
 
+
* July 30 - August 5
+
 
+
* August 6 - August 13
+
 
+
=== Suggested pencils down date ===
+
* August 14 - August 20
+
 
+
== Participation ==
+
* I will reach my mentor mostly by email to discuss all important things about the development. In emergency cases I would also phone him/her :D.
+
* People will be able to consult my code as I will set up a Git repository where I will commit.
+
* I will write a blog post about my progresses once a week.
+
* I will also idle in #guifi IRC channel to get in touch with the community.
+
* I will be listening for comments and suggestions.
+
 
+
== Past open source experience ==
+
 
+
I'm a GNOME developer and member of the GNOME Foundation, which is the biggest project I have contributed. I have experience working with other open source projects. You can see my contributions to open source projects at my [http://www.ohloh.net/accounts/pablog ohloh account].
+
 
+
I try to fix every annoying bug I find in software daily.
+
 
+
I like attending to free software events. I have attended to DebConf9 and Fosdem 2010 among others.
+
 
+
== Any other info ==
+
  
 
[[Categoría:Google Summer of Code]]
 
[[Categoría:Google Summer of Code]]
 +
[[Categoría:Guifi.net Studio]]
 +
[[Categoría:Manual de instalación]]
  
= References =
+
[[en:Guifi.net Studio]]
<references/>
+

Última revisión de 18:13 5 oct 2014

Screenshot guifinet studio v0.7.png

Guifi.net Studio es una aplicación de escritorio desarrollada por Pablo Castellano como proyecto Google Summer of Code durante el verano de 2012. La aplicación está desarrollada en Python/GTK+ y tiene una licencia de software libre GPLv3+.

La última versión estable disponible es la 0.7 y está disponible tanto en el repositorio Git como en los repositorios Ubuntu/Debian de Guifi.net. Para más información consulta la sección #Instalación.

Para más información puedes consultar la propuesta inicial del proyecto (en inglés) o la presentación grabada en el SAX 2012.

Para más información hay también disponibles una serie de informes hechos durante la fase de desarrollo donde se puede apreciar la evolución del software:

  1. GSOC Report #0: Documentation
  2. GSOC Report #1: Maps
  3. GSOC Report #2: libs and APIs
  4. GSOC Report #3: unsolclic and libcnml
  5. GSOC Report #4: libcnml ready
  6. GSOC Report #5: pyGuifiAPI
  7. GSOC Report #6: GUI + Guifi.net API
  8. GSOC Report #7: Pencils down!
  9. GSOC Final Report

Características

  • Explorar archivos CNML sin conexión a Internet usando los mapas de OpenStreetMaps
  • Exportar CNML a otros formatos como KML
  • Generar configuración unsolclic usando el método de las plantillas
  • Descargar y organizar archivos CNML usando la interfaz gráfica
  • Crear nodos/zonas/dispositivos y demás usando la API de Guifi.net
  • Tiene soporte para distintos servidores de Guifi.net
  • Calculadora inalámbrica integrada
  • Otras herramientas cono traceroute visual, encontrar el nodo al que corresponde una IP usando CNML...

Instalación

Desde repositorio

Añadir repositorio (ejecutar como root):

echo 'deb http://serveis.guifi.net/repo/debian/ guifi/ ' > /etc/apt/sources.list.d/guifinet.list
apt-get update
apt-get install guifinet-studio

Desde Git

Instalar Git y las dependencias de guifinet-studio (consulta el archivo README para más información):

  • Ubuntu/Debian (ejecutar como root):
apt-get install git python2.7 gir1.2-gtkchamplain-0.12 git python-lxml python-jinja2 \
python-kml gir1.2-gtkclutter-1.0 python-kml python-twisted-core python-jinja2

Clonar el repositorio público de Gitorious:

git clone git://gitorious.org/guifi-altres/guifinetstudio.git

NOTA: si vas a instalarlo desde Guifi.net mediante un proxy, tienes que definir el proxy para git en el archivo ~/.gitconfig

[http]
       proxy = http://user:pass@ip.del.proxy:3128

Clonar el repositorio público de Gitorious vía http:

git clone http://git.gitorious.org/guifi-altres/guifinetstudio.git

Ir al directorio donde se ha descargado la aplicación y ejecutarla:

cd guifinetstudio/
./guifinet-studio

Cómo colaborar

Puedes colaborar reportando fallos en trac.guifi.net, corrigiendo fallos (bugs) o aportando ideas.

Enlaces externos

Herramientas personales