Official blog

LearnDoubleEntry.org official blog

Sunday, June 16, 2013

DELT's database


Different kinds of databases are supported, since DELT is based on PDO, which is a DBMS abstraction layer. That said, I only used MySQL for my tests, so there could be problems I am not aware of if you use something else.

To setup the database, you can use the file protected/data/schema.mysql.sql, through the interface you like best (command line, phpMyAdmin, whatever...). The file contains the instructions to create the needed tables, and to insert a user, name 'admin' and password 'admin' in the users table.

Also, you should copy the files protected/config/main.php-dist and protected/config/console.php-dist to protected/config/main.php and protected/config/console.php, respectively.
In the file protected/config/main.php you will find the following lines:

'db'=>array(
  'connectionString' => 'mysql:host=localhost;dbname=delt',
  'emulatePrepare' => true,
  'username' => 'delt',
  'password' => 'secretpassword',
  'charset' => 'utf8',
  'tablePrefix' => 'tbl_',
  ),

Edit the connection string, the username, the password and, if needed, the tablePrefix.

Friday, June 14, 2013

Internationalized names of accounts

Just noticed that the interface for giving names to the accounts is was not clear enough. We will work on that, and fix the problem.

An account may have names in different languages, but you must write the names just after the appropriate locale string, like in the following example:

en_US: Depreciation of Buildings
it_IT: Ammortamento fabbricati

You shouldn't remove the locale, but, of course, you are not enforced to write the names in all the languages.



What does it happen if the firm's language is set to, say, English, and there's no name in English for an account? Well, another language is chosen, but an asterisk is added.

What if no name is provided? Well, only the asterisk comes up, like here:


Please be patient, a fix is coming soon...
The bug has been fixed in version 1.0.5. Now the names are correctly checked on saving.


About DELT's development and installation

DELT is developed in PHP, by using the framework Yii and trying to follow the best practices, like MVC architectural pattern, use of ORM tools, RERO (release eary, release often), DRY (don't repeat yourself), etc.

It's still missing many things (most notably, comments in the source code and automated tests), and there is a list of ideas for further development.

If you want to install DELT on your host, you should first install Yii, and then download DELT or, even better, pull or fork the whole project from github.

If you are a developer and you know Yii, you can send patches or comments. One of the aim of the project is to use the sources to show students how to write a web-based application, by providing a sort of real-life example.

If you are not a developer, you can still help in improving the software. For instance, since Yii is fully internationalized, you could provide a version in your language of a file with all the user interface's texts, which would look more or less like this (in Italian).

In case of problems during installation and setup, just write a comment here or contact us through the form.

Thursday, June 13, 2013

A short introduction to DELT and LearnDoubleEntry.org

The website LearnDoubleEntry.org is based on DELT (Double Entry Learning Tool), which is available as free software at github, released under the terms of GNU Affero General Public License. In short, that means you are absolutely free to get the software and install it on your machine, improve it and release your improvements, provided that they retain the same license. But, since DELT is a web application installed on the website, you do not need to download and install anything, because you can use the application as it is offered online.

LearnDoubleEntry.org is different from other accounting tools that you may have tried. Its aim is to offer students a way of practicing double entry bookkeeping / accounting principles without the complexity of a software that is normally used in a firm, but in an easier way than it would be by using spreadsheets or, worse, pen and paper.

For instance, in many accounting professional applications:
  • you cannot easily add an account in the chart of accounts while you are preparing a journal entry;
  • you must fill lots of information about documents (like invoice numbers and dates, customers and suppliers codes, tax-related details, etc.) when entering something in the journal;
  • you cannot see how the statements would look like at a certain moment in time, without actually performing some closing activities;
  • you cannot edit journal entries that are already recorded and confirmed.
All of the above limits make sense in a professional application, where these things are a requirement, but if you are a student and just want to practice, they represent quite a waste of time.

Another point is that on LearnDoubleEntry.org firms are public and can be shared amongst users. This opens up some possibilities described in the following scenarios:
  1. when students work in pairs or in groups, they can complete an exercise together, working on the same firm, but with different accounts; if one of them the next day is not present, the others can continue with no problems;
  2. when a student finishes an exercise and wants his/her teacher to check it, he/she can just send an email with the public link to the firm, that the teacher can access without even logging in;
  3. if you are a teacher and want to prepare an exercise, you can do so easily: you just create a new firm, make some editing to the chart of accounts, add some journal entries, and give your students the slug of the firm; the students will start a new firm by forking (i.e. copying) the one that you created, and that's it;
  4. if you created a firm that is a good example of a basic standard firm for the students in your country, you can ask for it being considered as a system firm (use the contact form for that).
All firms are considered public, in the sense that they are viewable and forkable by everybody, as long as they know the slug (and as you might have already noticed, the contents of the firm, like the chart of accounts, and the journal posts, are shared with a creative commons license). The firms are not listed on a web page, or indexed by search engines, and this permits some privacy, if the slug is set to a random 32 character string.

Some other information that can be useful, while waiting for online help:
  • when registering, you are sent a confirmation email -- it sometimes happens that the email message ends up in the spam folder of your email program, so please check there too;
  • every user can create a maximum of ten firms (but can ask for more, if necessary); 
  • the language of the interface can be, at the moment, in English or Italian, and you can choose in your profile which language to use (the application is fully internationalized, and so it is relatively easy to add support for other languages, so please get in touch if you are interested in helping in this); 
  • one can set a language for the firm he/she is managing, that can be different from the language of the interface -- this allows to have the chart of accounts in English and the interface in Italian, for instance; 
  • the chart of accounts allows for names in different languages (and this could be useful for students to familiarize with international terminology); 
  • when you create a new empty firm you do not have a chart of accounts, and that may be not very comfortable for a beginner -- a better idea would be to start by forking an existing standard firm; 
  • if you realize that an account is needed when you are in the middle of a journal entry editing, you can create it on the fly by adding an exclamation mark in the name (and you'll decide later where to put it in the chart of accounts) -- or you can open the chart of accounts in a different page / tab of your browser, of course; 
  • if you want to close an account (setting its balance to zero, like when you are paying a debt), you can just write a question mark in the amount field; 
  • if your journal entry is long, with many accounts (like in some textbook exercises, such as when you are entering the opening post of the year), you can use the raw mode (copy and paste data to a spreadsheet, edit data there, and copy and past data back in the application); 
  • you can backup the data of your firm in a file, for a later possible restore, and you can export the current balance in a CSV file.


Edits:
added links to other posts;
changed reference to VAT (Value Added Tax) to a more general "tax-related"
changed "journal posts" to "journal entries"

Tuesday, June 11, 2013

Aggiunta la generazione automatica dello slug

È stata aggiunta la generazione automatica dello slug per le aziende.


Facendo clic su "rigenera" lo slug viene creato con una funzione che parte dal nome dell'azienda, sostituisce le lettere che contengono segni diacritici con le corrispondenti lettere base, rende tutte le lettere minuscole, sostituisce spazi con trattini, ecc.

Facendo clic su "rendi casuale" lo slug viene generato come sequenza di 32 caratteri alfanumerici casuali. Questo rende l'azienda un po' più privata, nel senso che solo conoscendo lo slug se ne possono leggere i contenuti, la si può duplicare, ecc.

Saturday, June 8, 2013

Condivisione aziende tra utenti

È ora possibile condividere una propria azienda con altri utenti, consentendo loro una piena amministrazione. Non sono previsti livelli di accesso differenziati. Tutti gli utenti che lavorano su un'azienda condivisa possono fare tutte le operazioni su quell'azienda, compresa l'ulteriore condivisione.

Per la condivisione, è sufficiente accedere alla voce "Condividi" nel menù "Azienda"


e inserire il nome utente della persona con cui la si vuole condividere. La condivisione sarà attiva dal momento in cui la persona invitata la accetterà.

A che cosa serve la condivisione? Semplicemente, spesso capita che gli allievi di una classe lavorino a coppie. Se un giorno uno dei due allievi manca, l'altro non potrebbe proseguire l'esercizio a meno che non conosca la password del compagno. Con la condivisione, invece, i due allievi mantengono credenziali d'accesso diverse, ma possono lavorare separatamente.

Per ora non è previsto un annullamento della condivisione.

Thursday, June 6, 2013

Nuova pagina avvio duplicazione

La pagina per la scelta dell'azienda da duplicare di LearnDoubleEntry.org è stata leggermente modificata. Ora:
  • compaiono anche le descrizioni delle aziende duplicabili
  • è presente una casella di testo dove inserire lo slug di un'azienda
schermata duplicazione azienda LearnDoubleEntry.org

Ricordo che le aziende sono (a meno che non vengano cancellate o sospese) tutte visibili e duplicabili, a patto di conoscerne lo slug. Quelle che compaiono nell'elenco sono quelle "di sistema", ossia messe a disposizione direttamente dai gestori del sito. In effetti, l'aggettivo "pubbliche" non rende bene l'idea, e quindi accetto suggerimenti su quale altra espressione potrebbe essere utilizzata.

L'aggiunta della casella di testo fa sì che una persona possa creare un'azienda e comunicare, via email, scrivendolo alla lavagna, o in qualsiasi altro modo, lo slug dell'azienda, per far sì che altri possano duplicarla.