LibrePlan: Adapt planning according to timesheets

Posted in English, Java, LibrePlan, Planet on November 28th, 2012 by manuel rego casasnovas – Be the first to comment

During the last weeks I’ve been working in a new feature for LibrePlan that allows to update the project plan using the data from the timesheets.

Let’s use an example in order to explain the new functionality better.

Imagine that you have scheduled a task to be done during week 45, however the timesheets reporting hours to that task are in week 47. This means that you’re not fulfilling the plan and you have a delay of 2 weeks in that task. Besides, maybe that task has dependencies with other tasks, so this delay also means that other tasks are going to be delayed.

Some questions:

  • How could you check that information in LibrePlan?
  • How could you update the current plan?

In order to solve these problems a new feature has been developed. The final implementation includes different things which will be explained below.

  • Mark a task as finished from the timesheets

    In the timesheets UI (both in standard and personal timesheets) you’ll have the option to mark if a task is finished or not. You can only mark a task as finished once, but the task end date will be taken from the last timesheet reporting hours over that task. Then, when you use the new button to adapt the planning, a new 100% progress of type timesheets will be set for the task, which means that the task has been finished.

    Pop-up to mark task as finished in personal timesheets

    Pop-up to mark task as finished in personal timesheets

  • New marks in reported hours bar

    If you use the button Show/Hide reported hours, you’ll see the pink bars in the Gantt representing the hours reported in the timesheets compared with the planned (or estimated) hours. Now, together with that information you’ll also see two square brackets, that represent the first and last date in which there’re reported hours in the timesheets.

    Gantt showing marks with information from timesheets

    Gantt showing marks with information from timesheets

    As you can see in the picture most of the tasks started more or less when it was planned. However, we can detect some issues:

    • Draft task is delayed 2 weeks, which makes Template task to be delayed too.
    • Shopping cart task was started in the planned date, however it’s taking more time than expected.
  • Adapt planning button

    There is a new button (close to Reassign) in the project Gantt view that will allow you to adapt your current planning with the information extracted from the timesheets. This will allow you to modify your planning as people report hours in the timesheets.

    Planning adapted according timesheets data

    Planning adapted according timesheets data

    Once the planning has been adapted according to timesheets data, you’ll see the actual status of your project. Moreover, you’ll have the possibility to know which tasks are finished. In the example the finished tasks are only: Draft, Product management and Shopping cart.

    With all this information you’ll be able to modify the future planning in order to finish the project in the expected date (maybe allocating more resources, reducing some tasks, …).

Summarizing, we think that this is a nice addition that could be helpful to our users in order to manage better their projects. It’ll be available in the upcoming version 1.3.2 (you can already test it in the unstable environment) and, as usual, we’ll be really glad to receive your feedback about it. If you want to know more, you can review the analysis and implementation notes at LibrePlan wiki.

Finally, we’d like to publicly thanks to SOMABE for sponsoring this development. As you probably know Igalia offers this kind of customizations and other services around LibrePLan, don’t hesitate to contact us.

First LibrePlan Hackfest

Posted in English, Java, LibrePlan, Planet on November 9th, 2012 by manuel rego casasnovas – Be the first to comment

Yesterday, we arranged the first LibrePlan hackfest at Igalia headquarters in A Coruña.

Blackboard with the brainstorming

Blackboard with the brainstorming of LibrePlan hackfest

First of all, we started with a brainstorming where each of us provided his own ideas about how to improve the project. We ended up with a plan for the day defined by a quite big list of topics:

  • Right-click in the left menu of the project planning perspective.
  • Make projects list sortable in the main Gantt view.
  • Filter by name in projects and tasks view.
  • Implement dependencies with lag.
  • Avoid to leave the project perspectives without being warned if you have not saved the project.
  • Review some bugs that were pending from some time ago and need some discussion.
  • Give some love to help.
  • Create a new project status called “pre-sales”.
  • Add a milestone from WBS view.
  • Add dependencies from WBS view.
  • Copy/move tasks.
  • Copy projects.
  • Allow to modify LDAP/DB property in users edition.
  • Review and update Fedora hacking instructions.
  • Review some usability improvements.
  • Mobile application for bound resources.

And as you can read below the outcome was pretty good.

Jacobo and Óscar at LibrePlan hackfest

Jacobo and Óscar at LibrePlan hackfest

Jacobo was the first one finishing a task, he updates Fedora hacking instructions and also fix some issues preventing to compile LibrePlan with OpenJDK 7.

Javi and Jeroen were talking about different issues around LibrePlan, from the new LibrePlan customization for the audiovisual sector, to the last events where we’ve had some talks about LibrePlan (like Libre Software World Conference and T-Dose). They also discussed about the community, the future of the project and many other things.

Óscar and me started to review some bugs that have some special complexity and discussed the possible solutions. Óscar worked out a patch for bug #1413 and we also took a look to #1320, #1265 and #1553.

Loren began with the protect upper menu task, in order to prevent users to lose changes when they forget to use the save button. We really think that our users will appreciate this as you won’t have to worry about it anymore as Loren and Óscar finally managed to fix it. :-D

LibrePlan mobile app screenshots

LibrePlan mobile app screenshots

During the afternoon, after a nice lunch, we carried on with the hackfest.

I kept working in a small mobile application for bound users. The purpose of the app is to allow bound users query their assigned and report worked hours via the personal timesheets. The first part is almost ready and you can already see the list of assigned tasks to a bound resource in your phone.

Jeroen was working a little bit in the help in order to give it a new refreshing look.

Jacobo also did the task regarding to edit if a user is a LDAP or database user. And at the end of the day he was working in some usability improvements regarding how to set properly the focus while working in the WBS.

Loren began an approach to include the right-click on the project/task name avoiding the need to use the box in the Gantt to enter a project or allocate a task.

Javi, Jeroen and Loren at LibrePlan hackfest

Javi, Jeroen and Loren at LibrePlan hackfest

Javi was working in his patches to show the load of the resources to be assigned in the allocation pop-up. He also discussed some stuff with Óscar in order to improve the current implementation.

Jeroen, Loren and me were debating the possible project status in LibrePlan. Finally we included two new status “pre-sales” and “on hold” and also renamed the one related with subcontracted projects to “outsourced”. So the final list of project status is: pre-sales, offered, outsourced, accepted, started, on hold, finished, canceled and stored.

Finally, I’d like to specially thank Jeroen and Óscar for coming to the hackfest and contributing with their ideas and experience. And also to Igalia for sponsoring it. On the other hand, it was a pity that some people couldn’t attend in the last minute.

It was a really nice day, and we hope to repeat this experience in the future, you’ll enjoy the result of this day in the next LibrePlan versions!

Group picture of LibrePlan hackfest

Group picture of LibrePlan hackfest

You guys rock! Happy hacking :-)

LibrePlan: New Project Status Report

Posted in English, Java, LibrePlan, Planet on October 31st, 2012 by manuel rego casasnovas – 1 Comment

Lately we‘ve been working in a new report in LibrePlan. The report is called Project Status Report and the first part of the report (related to hours) is already available in LibrePlan 1.3.1, however in the next version some additions over this report will be included.

The main goal of this report is to have a printable version of the project task tree (WBS) summarizing some important information regarding 2 aspects:

  • Hours: For each task in a project it will show the 3 type of hours we have in LibrePlan:
    • Estimated: The ones filled in the WBS tree.
    • Planned: The allocated hours, they are configured in the task allocation. They can be the same or not than Estimated hours as you can change it while doing the planning.
    • Imputed: The hours devoted to a task by the workers. Introduced in the timesheets (work reports). If the number of Imputed hours is bigger than Planned hours, then it’ll be shown an exclamation mark and the number will appear in red.
  • Money cost: Apart from the hours information in the new version will be included information about the money cost:
    • Budget: Estimated budget in the WBS.
    • Hours cost: Cost calculated depending on resources cost categories and the Imputed hours.
    • Expenses cost: Cost imputed via expenses sheets.
    • Total cost: Addition of 2 previous costs (Hours + Expenses). It’ll also show a mark if it’s bigger than Budget.
Project Status Report example

Project Status Report example

Apart from the new columns, the new version will also allow to filter the report by labels and/or criteria and the project filter will be optional. This will return the information of all the tasks related with the labels and/or criteria in all your projects. We think that this is a nice addition in order that you analyze where are you having troubles, for example, comparing Project managers with Developers.

Project Status Report filter by criterion "Project Manager"

Project Status Report filter by criterion "Project Manager"

Project Status Report filter by criterion "Developer"

Project Status Report filter by criterion "Developer"

We hope you enjoy the new report and the latest changes, we’ll be really glad to receive your feedback about it ;-)

SergasApp 0.1.1

Posted in Galego, PhoneGap, SergasApp on September 14th, 2012 by manuel rego casasnovas – 2 Comments

SergasApp foi publicada en Abril deste mesmo ano e acaba de superar as 2000 descargas no market de Android (Google Play). Antes de nada, moitas gracias a todos pola boa acollida.

Debido a un bug de PhoneGap en Android 4.1 Jelly Bean veño de publicar unha nova versión da aplicación. O problema era que a aplicación pechábase cando un usuario introducía o número “7″ nalgún campo. O erro foi correxido na versión 2.0.0 de PhoneGap, polo que SergasApp agora emprega esa versión.

A parte desta corrección a nova versión inclúe as seguintes novidades:

  • Agora inclúese a información sobre o tipo de cita tanto durante o proceso de solicitude como na consulta das mesmas.
  • Por defecto, selecciónase o primeiro día e hora libres á hora de solicitar unha consulta.
  • En Android engadiuse un novo botón que permite pechar a aplicación.

Espero disfrutedes da nova versión que podedes descargar dende a páxina web da aplicación ou o market de Android (Google Play) ;-)

PhoneGap at Master on Free Software

Posted in English, MSWL, PhoneGap, Planet on August 4th, 2012 by manuel rego casasnovas – Be the first to comment

Like in the past 3 years, this year I’ve been teaching some lessons of the web module inside the Master on Free Software organized organized by Igalia and URJC.

Apart from some classes about Java, this time I’ve given a workshop about PhoneGap (now renamed to Apache Cordova). If you don’t know it yet, maybe you want to take a look if you’re interested in web development (HTML + CSS + JavaScript) for mobile platforms.

The workshop tried to give an overview of this framework and during the class we developed a simple feed reader as example app. The main technologies used (apart from PhoneGap) were: jQuery (to manipulate the DOM), jQuery Mobile (for the UI) and jFeed (to read the RSS/Atom feed). You can find the slides of my presentation below and if you follow them you should be able to develop the example too ;-)

Finally, maybe you don’t know it yet, but some months ago I developed a small mobile application using PhoneGap. The app is called SergasApp and it allows request medical appointments for the Galician Healthcare Service. As usual, it’s free software and you can find the source code in GitHub if you’re interested in review another example app developed with PhoneGap.

Resources binding and monthly timesheets in LibrePlan

Posted in English, LibrePlan, Planet on July 24th, 2012 by manuel rego casasnovas – Be the first to comment

Igalia is about to release LibrePlan 1.3 and maybe the most important feature included in this new version will be the resources binding.

Summarizing, it consists of allowing the binding between LibrePlan resources and users. Resources are used in the planning and are allocated to the different tasks of the project. Users, like in any other web project, have a username and password to login and use the application. So far, there were no relationship between resources and users in LibrePlan and several people have requested this feature since a lot of time ago.

Why didn’t we have this relationship yet? The main reason is that LibrePlan was started as a project for manufacturing industries where they manage the resources, but the resources are not expected to interact with the application directly. However, the project has evolved into a more generic planning tool suitable for other companies where resources have access to a computer and should be LibrePlan users to input some data to the planning (like worked hours, expenses, etc.).

Resource binding windows

Thanks to the new feature you’ll have the possibility to bind resources to users, this will allow to assign users (through the bound resource) to the different tasks of your planning. In order to do that you’ll have 3 options in the resources editing window:

  • Not bound: The resource is not bound to any user.
    Not bound option in resources editing window

    Not bound option in resources editing window

  • Existing user: Select one of the current users and bind it to the resource. Moreover, you’ll have a link to the user editing window.
    Existing user option in resources editing window

    Existing user option in resources editing window

  • Create new user: You could create a new user directly from resource editing window providing the basic data (username, password and, optionally, e-mail). The new user will be automatically bound to the resource.
    Create new user option in resources editing window

    Create new user option in resources editing window

Correspondingly in the user editing window you’ll have a new section about the bound resource with a button to disable the binding.

Bound resource information in user editing window

Bound resource information in user editing window

New home page for bound users

Notice that the bound users will be associated with a new role called Bound user. By default this kind of users will only have access to the menu entry called Personal area where they’ll have a new page Home with the following areas:

  • My tasks: Where the user could find the list of assigned tasks. Each task will have a link to report hours using a monthly timesshet.
  • Monthly timesheets: In the home page the user will have the list of monthly timesheets with a link to edit them. More about monthly timesheets later.
  • Expenses: Apart from reporting hours with the monthly timesheets it’ll be also possible to report expenses. The resource will be able to report the expenses associated with the tasks in which he/she is participating.
New home for bound users

New home page for bound users

Monthly timesheets

In LibrePlan worked hours are reported via the timesheets, that are quite flexible thanks to the timsheet templates. However, for the new bound resources it’ll be a new special type of timesheets called monthly timesheets with a specific editing window. The monthly timesheets will be composed by a grid where the bound users could introduce the hours they have devoted to the different tasks during a month.

Monthly timesheet editing window

Monthly timesheet editing window

As you can see in the image above, the monthly timeshet will allow the user to enter hours for each of his/her assigned tasks and also for any other tasks if needed using the Add task button.

BTW, it’s important to highlight the meaning of the Other row and column. It’ll show the hours reported with the standard timesheets during the month. Maybe, you’ll forget about standard timeseehts if you’re using monthly timesheets but in some cases it could be useful to have both ways to report hours. For example, imagine that overtime needs to be reviewed and reported by a manager, the manager could use standard timesheets to report that kind of hours and the resources will use the monthly timesheets to report regular hours.

Future

As you can see in LibrePlan 1.3 you’ll be able to report hours and expenses using the new home page, however you still can’t provide more info that could be useful for the project managers like: progress, comments, … In the future some of these features could be included too.

Igalia has worked hard to keep improving LibrePlan, we hope you enjoy this feature and the rest of new sutff in LibrePlan 1.3. We’re waiting for your feedback about it as soon as LibrePlan 1.3 is released (hopefully during this week), in the meanwhile you can test it in the unstable demo.

Building Liferay Social Office

Posted in Java, Liferay, Planet on July 3rd, 2012 by manuel rego casasnovas – 2 Comments

Liferay Portal is an enterprise portal which includes a suite of applications. Among other stuff, it provides a collaboration suite called Liferay Social Office.

Summarizing, Liferay Social Office provides a collaborative Liferay site for a company with several functionalities: calendar, documents, forums, blog, wiki, etc.

A new version of Liferay Social Office 2.0.0 will be available soon (the release date was planned for past 29th of June). But if you don’t want to wait, this post will explain how to launch Social Office from Liferay source code.

Liferay

First of all you need to have installed a JDK and Ant in your system. You can use the next line to install it in a Debian based distro:
~# apt-get install openjdk-6-jdk ant

Let’s create a new folder called liferay where you’re going to download the sources, compile them and so on:
~$ mkdir liferay
~/liferay$ cd liferay

Download the latest sources (it didn’t work for me using Liferay 6.1.0 GA1) from GitHub repository, uncompress and rename them (alternatively you can clone the Git repository, but it’ll be much slower):
~/liferay$ wget -O liferay-portal.zip https://github.com/liferay/liferay-portal/zipball/master
~/liferay$ unzip liferay-portal.zip
~/liferay$ mv liferay-liferay-portal-36e8468 liferay-portal
~/liferay$ wget -O liferay-plugins.zip https://github.com/liferay/liferay-plugins/zipball/master
~/liferay$ unzip liferay-plugins.zip
~/liferay$ mv liferay-liferay-plugins-cfb1925 liferay-plugins

Then you’ll need to create a folder called bundles:
~/liferay$ mkdir bundles

And as root you’ll have to copy one .jar file to Ant libraries folder:
~/liferay# cp liferay-portal/lib/development/ecj.jar /usr/share/ant/lib/

You’re just pending to configure ANT_OPTS, download Tomcat (automatically with Ant) and compile Liferay. Use the following commands:
~/liferay$ cd liferay-portal
~/liferay/liferay-portal$ export ANT_OPTS="-Xmx1024m -XX:MaxPermSize=512m"
~/liferay/liferay-portal$ ant -buildfile build-dist.xml unzip-tomcat
~/liferay/liferay-portal$ ant all

Then you’re ready to launch Liferay:
~/liferay/liferay-portal$ cd ../bundles/tomcat-7.0.27/bin/
~/liferay/bundles/tomcat-7.0.27/bin$ ./startup.sh

Maybe it takes some time (around 1 minute) but you should be able to access Liferay at http://localhost:8080/.

Then you enter the administrator user data, accept the privacy policy and configure the default password for the new adminstrator. Finally, you’ll get the next screenshot:

Liferay home page

Liferay home page

Social Office

Now, you’re going to compile and deploy the portlets, theme and hook required for Liferay Social Office:

  • Portlets: contacts-portlet, events-display-portlet, microblogs-portlet, private-messaging-portlet, so-portlet, tasks-portlet, wysiwyg-portlet
  • Themes: so-theme
  • Hooks: so-hook

For each of them you have to go to the proper folder inside liferay-plugins and run “ant all” (note that this step is done without stopping Tomcat). An example for contacts-portlet:
~/liferay/liferay-plugins$ cd portlets/contacts-portlet/
~/liferay/liferay-plugins/portlets/contacts-portlet$ ant all

As a side note, in order to get the list of dependencies you can compile and deploy first the so-hook (using the previous commands). Then, you could read the next line in the log file (~/liferay/bundles/tomcat-7.0.23/logs/catalina.out):
18:19:58,351 INFO [HotDeployEvent:109] Plugin so-hook requires contacts-portlet, events-display-portlet, microblogs-portlet, private-messaging-portlet, so-portlet, so-theme, tasks-portlet, wysiwyg-portlet

Then you can go to Control Panel (http://localhost:8080/group/control_panel/) navigate to Portal > Sites and add a new site using the option “Add Default Social Office Site“.

Finally, you can browse your Liferay Social Office site in a URL similar to the next one (it will vary depending on the name you enter for the new site, in the example I used “My Social Office“): http://localhost:8080//web/my-social-office/home.
Liferay Social Office home page

Currency support in LibrePlan

Posted in English, LibrePlan, Planet on June 1st, 2012 by manuel rego casasnovas – Be the first to comment

We’re getting close to the release of LibrePlan 1.3, and as you can see in the rodamap to LibrePlan 1.3 and also in the last revision, one of the features to be included in this new major version will be:

Include the management and support of a currency to apply to the project: Now all the reports are in euros. Internationalization must be included to allow to configure the currency used and the symbols to use.

Some weeks ago, we in Igalia have been working in develop this new feature, that you can already test in LibrePlan unstable demo.

From the user point of view, these are the new bits:

  • New option in configuration screen to choose the currency symbol to be used into LibrePlan.
    New currency option in configuration window

    New currency option in configuration window

  • In the different places where money is managed, you’ll always see the currency symbol together with the value. For example, in the budget column of the WBS.
    WBS view using configured currency symbol

    WBS view using configured currency symbol

From the developer point of view, now there’re some new methods in class org.libreplan.web.common.Util that should be used to manage money values:

  • getCurrencySymbol(): Returns the currency symbol from LibrePlan configuration.
  • addCurrencySymbol(BigDecimal): Returns a String with the currency symbol attached to the value.
  • getMoneyFormat(): Returns the format with the currency symbol to be used in a Decimalbox when it manages money.

As usual, if you’re interested you can find more information about the analysis and development of this task in the project wiki.

In Igalia we keep pushing for LibrePlan and we’re already working in one important feature that will be included in LibrePlan 1.3. I’m talking about the feature to bind users with resources, requested by lot of people, that will improve the way how worked hours are reported (but it deserves its own blog post ;-) ).


As a side note, I’d like to talk about the last LibrePlan release. In LibrePlan 1.2.4 again we added support for a new language, this time it was Czech thanks to the work done by Zbyněk Schwarz: “Vítejte Češi!:-)

Transifex is working really fine to manage all these translations and also to receive new translations. For example, Slovak and German translations has already been started and should eventually join the list of supported languages, currently: Czech, Dutch, English, French, Galician, Italian, Spanish, Polish, Portuguese and Russian.

Thanks to all our translators for their work!

LibrePlan is learning new languages: Salut, hoi, cześć!

Posted in English, LibrePlan, Planet on April 20th, 2012 by manuel rego casasnovas – Be the first to comment

We’re really happy to see that with every new release LibrePlan project is translated into new languages.

In LibrePlan 1.2.2 two new languages appeared:

  • French: In the past some people had already asked about French translation and finally this language was available for them. The work was initially started by Stephane Ayache and Guillaume Postaire, but finally Philippe Poumaroux did the final effort to complete the translation in order to have French supported 100%.
    LibrePlan screenshot in French

    LibrePlan screenshot in French

  • Dutch: This translation was done by Jeroen Baten, who is also participating in the LibrePlan community (for example he sent an script to connect JIRA with LibrePlan).
    LibrePlan screenshot in Dutch

    LibrePlan screenshot in Dutch

In the last version published yesterday, LibrePlan 1.2.3, again a new language has been included:

  • Polish: This time it was the Polish language provided by Krzysztof Kamecki.
    LibrePlan screenshot in Polish

    LibrePlan screenshot in Polish

For the future releases it seems that Czech language will be available too as you can check in Transifex.

We’d like to publicity thank the work done by our translators, that is allowing more and more people use LibrePlan without any language barrier. You guys rock! :-)

Finally, if you miss your language or want to improve, help or contribute in any of the current ones, the process is as easy as join Transifex and start to translate there.

PS: Transifex guys accepted my mini patch to improve the projects timeline RSS feed. Now you can be subscribed to it and it won’t be updated until there is any new translation or change in the project.

Anunciando SergasApp – Pedindo cita dende o móbil

Posted in Galego, PhoneGap, SergasApp on April 6th, 2012 by manuel rego casasnovas – 8 Comments

Últimamente estiven xogando con PhoneGap (que foi renomeado a Apache Callback, e agora a Apache Cordova) un framework para o desenvolvemento de aplicacións móbiles empregando técnoloxías típicas de desenvolvemento web coma HTML 5, JavaScript e CSS.

SergasApp

Icono da aplicación SergasAppO resultado destes experimentos é a aplicación SergasApp, que permite a solicitude, consulta e cancelación de citas no SERGAS (Servizo Galego de Saúde) para o que emprega o Servizo de de Citas de Atención Primaria que proporciona o SERGAS.

Por outra banda, SergasApp proporciona un sistema para almacenar información de máis dunha tarxeta sanitaria, de xeito que as operacións anteriores (solicitude, consulta e cancelación de citas) poderán facerse dun xeito cómodo para os diferentes membros da familia unha vez configuradas as súas tarxetas. Para a configuración das tarxetas, a información necesaria é a mesma que se solicita no Servizo de de Citas de Atención Primaria, para isto proporciónase un formulario moi básico sen ningún tipo de validación polo que hai que ter coidado cos datos introducidos ou a tarxeta non funcionará.

Pantalla principal da aplicación SergasApp

Pantalla principal da aplicación

SergasApp está dispoñible para diferentes plataformas móbiles coma Android, BlackBerry, Symbian e WebOS (aínda que só foi probada en Android e BlackBerry) é pode descargarse dende a súa propia páxina web: http://mrego.github.com/sergasapp/

No caso de Android tamén a podedes atopar no Android Market (agora Google Play).

Polo momento non está dispoñible para iOS, pero podería estalo nun futuro xa que a tecnoloxía empregada para o seu desenvolvemento así o permite (ler máis abaixo para máis información).

Cabe salientar que a aplicación non é oficial, tan só é un experimento e seguramente teña múltiples erros. Polo momento cumpre as miñas necesidades para a petición de citas, pero pode fallar nalgúns casos ou deixar de funcionar en canto o SERGAS faga calquera cambio na súa web. Para iso convídovos a probala e enviarme calquer tipo de problema que atopedes.

Sobre o desenvolvemento

SergasApp foi desenvolvida empregando PhoneGap como plataforma base, jQuery e jQuery Mobile para a interfaz.

Como se explicou anteriormente a aplicación emprega o Servizo de de Citas de Atención Primaria de xeito que mediante peticións HTTP (GET ou POST segundo o caso), e procesado o HTML resultante con jQuery vai creando as diferentes pantallas para permitir as diferentes operacións. Isto provoca que calquera cambio que faga o SERGAS na súa web, ou calquera caso que non fora probado fará que a aplicación non funcione de xeito adecuado.

Para a xestión das tarxetas sanitarias empregouse a API de almacenamento de PhoneGap que permite a creación e uso dunha base de datos sinxela (neste caso só con unha táboa coa información das diferentes tarxetas configuradas).

SergasApp é software libre e está publicada baixo a Licenza Pública Xeral de GNU versión 3 (GNU General Public License version 3), podedes descargar o código fonte dende o repositorio Git: https://github.com/mrego/sergasapp. Polo que calquera contribución será benvida ;-)

Por outra banda, para a creación da aplicación para as distintas plataformas empregouse o servizo PhoneGap Build, moi sinxelo de utilizar xa que está integrado con GitHub e simplemente indicando a URL do repositorio xa constrúe a aplicación para os diferentes sistemas operativos.

Por último para a creación da páxina web utilicei Bootstrap e o soporte de páxinas web de GitHub. A páxina non é ningunha maravilla, pero quería aproveitar para probar isto tamén.

Búscase colaboracíon

Coma xa se explicou, SergasApp é un experimento polo que estaría encantado de recibir os vosos comentarios sobre o seu funcionamento, problemas, melloras na interfaz, un novo icono ou calquera outra cousa. Ademais podedes empregar o bugtracker para informar de calquera bug, solicitar novas funcionalidades ou enviar algún parche.

Por outra banda, non estou moi posto no mundo de Apple polo que pido disculpas anticipadas se o que digo aquí non ten sentido. Semella que para poder xerar a aplicación para iOS dende PhoneGap Build é necesario ser, o que eu chamaría, “iOS developer” (hai que configurar a segunte información iOS Certificate e Provisioning Profile Pair). Polo que se algún de vós cumpre os requisitos e quere xerar a aplicación para iOS e subila á Apple Store, estaría máis que agradecido :-)

Espero que disfrutedes co meu último experimento!


Bad Behavior has blocked 65 access attempts in the last 7 days.