Dear ILIAS-Devs,
I owe you a protocol and a small summary of the skype session about
automated testing we had last weak. You'll find the protocoll in the
attachments, I hope everybody feels represented in the notes I took.
>From my perspective the meeting was a good start to tackle some unit
testing problems in ILIAS. We talked about our experiences and
strategies regarding unit tests and I got the general expression that a
lot of shared problems regarding unit tests in ILIAS and in general
exist, that we could tackle collectively. We also have a huge variety of
experiences that should allow us to bring people with little experience
up to speed quite fast. The common request for documentation seems to
support that.
On the tool side we all want a mocking framework, which we will decide
on collectively via poll. Current options are mockery and the build in
tools of PHPUnit. Are there any other proposals for a mocking tool for
our tests?
We also discussed the idea of having a file based database driver that
would make testing of CRUD classes easier. There was some debate on that
topic however, revolving around the correct pattern for testing
persistency and alternatives to the file based db driver.
I thank everybody who had time to attend the meeting for the good
discussion and the ideas. There will be a follow up in the not too far
future. I will take the ideas from the meeting to the TB, discuss the
next steps there and will keep you informed about what is happening.
Please visit http://www.ilias.de/docu/goto_docu_frm_5386_4364.html for
discussion.
Best regards!
--
Richard Klees
Lead Developer Qualifizierungsmanagement
---------------------------------------------
CaT Concepts and Training GmbH
Vorgebirgstraße 338
50969 Köln
Fon: +49 (0)221 / 46 75 76 - 56
Mobil: +49 (0)178 / 49 04 598
Fax: +49 (0)221 / 46 75 76 - 09
Mail: richard.klees(a)concepts-and-training.de
Web: http://www.concepts-and-training.de
---------------------------------------------
Geschäftsführung:
Sven Kapust, Gerald Konrad, Alexandra Oehlke,
Sandra Röbbelen, Volker Röbbelen, Denis Witt
Amtsgericht Köln HRB 57804
Ust-ID-Nr.: DE 814694228
Sitz: Köln
---------------------------------------------
Dear Maintainers and Developers
As decided during last JF we kindly ask you to fill your maintenance-infos using the newly introduced maintenance.json-files in trunk and using the DeveloperTool "maintainers": https://github.com/ILIAS-eLearning/DeveloperTools/tree/master/maintainers
how-to:
Step 1:
Checkout the DeveloperTool-Repository within your local ILIAS-Repo:
$ cd Customizing
$ git checkout https://github.com/ILIAS-eLearning/DeveloperTools tools
Step 2:
Install the dependencies:
$ cd Customizing/global/tools/maintainers
$ composer install
$ sudo apt-get install php7.0-mbstring
Step 3:
Check if your maintainer-account is already registred:
$ php run.php -c maintainers
Available Maintainers:
---------------------------------
| username | model |
=================================
| fschmid | 21087 |
---------------------------------
| kunkel | 115 |
...
If not, check the file maintainers.json. Is there already an entry with your ILIAS.de-Account and User-ID?
Add a line
"username": "username(123)",
if missing.
Step 4:
Chek if your component already are registred:
$ php run.php -c components
Available Components:
-------------------------------------------
| name | model |
===========================================
| Administration | Classic |
-------------------------------------------
| Authentication & Registration | Classic |
-------------------------------------------
| Bookmarks | Classic |
-------------------------------------------
...
If not, check the components.json. Are all your components listed there? Add one, e.g.
"RBAC": {
"directories": [],
"name": "RBAC",
"first_maintainer": "smeyer",
"second_maintainer": "smeyer",
"tester": "username(123)",
"testcase_writer": "username(123)",
"modell": "Classic",
"coordinators": []
},
if your component is missing. You just have to fill out "Component Name", "name" and
"first_maintainer". The "modell" is "Classic" for nearly everything. "directories" will be
filled out automatically.
Step 5:
Run the script (see above). If there is a maintenance.json missing in your components directories,
it will be genereated now.
After that, open and edit the desired maintenance.json-File in your directory, e.g.:
vi /Services/AccessControl/maintenance.json
{
"maintenance_model": "Classic", # Use Classic here
"first_maintainer": "", # Your account-username (e.g. fschmid works as well as fschmid(21087))
"second_maintainer": "", # Same format as first-maintainer
"implicit_maintainers": [], # Same format as first-maintainer
"coordinator": "", # Same format as first-maintainer
"tester": "", # Same format as first-maintainer
"testcase_writer": "", # Same format as first-maintainer
"path": "Services/AccessControl", # You do not have to change this
"belong_to_component": "None", # Write teh exact name of the component as its registred in components.json
"used_in_components": [] # If this directory is used in several components, list them (with the exact name).
}
Step 6:
Run the file-generation
$ php run.php -c generate
ILIAS has 29 maintained and 148 unmaintained Directories in 43 components
Writing MD-File
The files
• maintainers.json
• components.json
• maintenance.md (in the ILIAS-repository)
will be updated. Push the changes in this repository. The chnages in the ILIAS repository currently
can be pushed, too. After we completed the file, changes are only allowed by Pull Request.
If you have any question feel free to write to the forum: http://www.ilias.de/docu/goto_docu_frm_5386_4359.html
Liebe Grüsse
Fabian
--
Fabian Schmid
Member of the Executive Board
Head of Software Development
studer + raimann ag
IT- and Learning-Solutions
Farbweg 9
3400 Burgdorf
main +41 31 972 52 22
support +41 31 972 52 30
direct +41 31 972 52 27
fs(a)studer-raimann.ch
studer-raimann.ch
--
Wanna know more? Contact us directly or find information online:
Corporate Website studer-raimann.ch | Product Website ilias.ch
Facebook <https://www.facebook.com/studer.raimann> | XING
<https://www.xing.com/companies/studer+raimannag> | LinkedIn
<https://www.linkedin.com/company/studer-raimann-ag>