Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Request Tracker: set up external authentication via LDAPS

This is a description of how I set up my Request Tracker instance to use external authentication via LDAPS (LDAP over SSL on port 636).

  1. In the previous installment, I already added the devel:languages:perl repository. Now I install the package containing the RT::Authen::ExternAuth RT extension that will provide the external-authentication-against-LDAP functionality.
    # zypper ref
    # zypper in perl-RT-Authen-ExternalAuth
    # zypper in perl-Net-SSLeay
    # zypper in perl-ldap-ssl
    
  2. I set up SSL on my system (beyond the scope of this blog entry). At the very least, the openssl package should be installed and configured, and my LDAP server's certificates should be present in the /etc/ssl/certs directory.
  3. I tweak my openldap configuration for CA CERT as per this blog entry
  4. I read up on the RT::Authen::ExternalAuth extension (plugin). Here are the principal documentation resources I was able to find:
  5. After reading the documentation and protracted trial and error, I finally came up with the following working configuration (in RT_SiteConfig.pm):
    Set($ExternalServiceUsesSSLorTLS,    1);
    Set($ExternalSettings, { 
                             'MY_LDAP' =>  {
                                'type'            =>  'ldap',
                                'server'          =>  'ldaps://ldap.example.com',
                                'tls'             =>  0,
                                'ssl_version'     =>  3,
                                ...
    
  6. At this point, I fire up request-tracker and am able to log in with my LDAP credentials!

a silhouette of a person's head and shoulders, used as a default avatar

[Ann]: Cobra 3.5 - Windows GUI test automation tool


New features:
* ooldtp python client
* Support setting text on combo box
* Added simple command line options
* Support state.editable in hasstate
* Handle valuepattern in click API
* Support ToolBar type on click
* Write to log file if environment variable is set (set LDTP_LOG_FILE=c:\ldtp.log)
* Support control type Table, DataItem in Tree implementation
* Added scrollbar as supported type

New API:
* MouseMove
* setcellvalue
* guitimeout
* oneup
* onedown
* oneleft
* oneright
* scrollup
* scrolldown
* scrollright
* scrollleft

Bugs fixed:
* Fix to support taskbar with consistent index
* istextstateenabled API
* Fallback to object state enabled if value pattern is not available
* Fix to support InvokePattern on Open button
* Use width, height if provided while capturing screenshot
* Work around for copying text to clip board
* QT 5.0.2 specific changes
* Check errno attribute to support cygwin environment
* Fix keyboard APIs with new supported key controls (+, -, :, ;, ~, `, arrow up, down, right, left)
* Don't grab focus if type is tab item

Java client:
* Fixed selectRow arguments
* Fixed compilation issues
Python client:
* Fix optional argument issue in doesrowexist
C# client:
* Added new APIs (scrollup, scrolldown, scrollleft, scrollright, oneup, onedown, oneleft, oneright)
Ruby/Perl client: No changes

Credit:

Nagappan AlagappanJohn Yingjun LiHelen WuEyas Kopty, VMware colleagues

Please spread the word and also share your feedback with us (email me).

About LDTP:

Cross Platform GUI Automation tool Linux version is LDTP, Windows version is Cobra and Mac version is PyATOM.

* Linux version is known to work on GNOME / KDE (QT >= 4.8) / Java Swing / LibreOffice / Mozilla application on all major Linux distribution.
* Windows version is known to work on application written in .NET / C++ / Java / QT on Windows XP SP3 / Windows 7 / Windows 8 development version.
* Mac version is currently under development and verified only on OS X Lion. Where ever PyATOM runs, LDTP should work on it.

Download source / binary (Windows XP / Vista / 7 / 8)
System requirement: .NET 3.5, refer README.txt after installation

Documentation references: For detailed information on LDTP framework and latest updates visit http://ldtp.freedesktop.org

LDTP API doc / Java doc
Report bugs

a silhouette of a person's head and shoulders, used as a default avatar

Organizing oSC13 - 57 days before

When I started this series of 'Organizing oSC13' posts I wanted to make three main things. 
  1. Blog about what it takes to make oSC13
  2. Include things that could be useful in the future to people who will take over the next conferences
  3. Inform people how things are going out of a strictly personal sight
Now I warned you before, this blog contains explicit content. If you are easily shocked or feel offended when someone talks a bit dirty then please stop reading. A lot of documentation can be found elsewhere.

Having said that I continue :D

Now so far I haven't wrote anything about the actual progress of the conference. Today I will write about it.

So far we have 36 people working on tasks on https://trello.com/osc13 which is where we put tasks and work on them. 
Now let's talk in numbers:

So far we have 111 total tasks separated in 3 sections. The Sections are Program - Promo - Venue.

We have a total of 22 tasks in Program. From those 22 tasks we have 17 on 'To Do', 1 on 'Doing' and 4 on 'Done'.

We have a total of 64 tasks in Promo. From those 64 tasks we have 11 on 'To Do', 15 on 'Doing' and 38 on 'Done'.

We have a total of 25 tasks in Venue. From those 25 tasks we have 15 on 'To Do', 4 on 'Doing' and 6 on 'Done'.

We also have tasks that were finished even before reaching https://trello.com/osc13 , like articles or gathering some equipment that we already have in our possession.

In order to finish all that tasks many work hours where spent, many people were on to them and many fights between us where given so that we succeed the best possible result. This is something I really want to point out. We fight over a lot of things, mostly because we want to do things perfect, have in mind that this is a good thing and in the end of the day we are more bonded than before. We are closer because we understand more the person we are working with. This leads to less fights and better results as we continue. If you have a solvent character those fights make you better in many ways. 
One thing I really like this year is that everyone of the people I've worked with so far is ready to take one for  the team. Another is that we all want the same thing, to make this Conference the best possible.

If you have some time and you want to be a part of this team then join us at https://trello.com/osc13 and help. If you have the will to do things, even if you feel you can't do anything, there are people there who will be happy to help you finishing tasks. Help needed, help wanted and help can be provided.

a silhouette of a person's head and shoulders, used as a default avatar

Organizing oSC13 - 58 days before


Meetings-planning-searching-meetings and here we go again meetings-planning-searching-meetings. Of course not always with that turn and some times with even more meetings. Having A LOT of meetings is the necessary 'evil' when organizing a conference. In meetings you get to interact with other people, get feedback and generate new ideas out of the interaction. You get to know what is going well and what it does not, where you need more things to be done and where you need less things to be done. What works and what it doesn't. Nevertheless meetings although they are necessary for the organization hide what I think is the biggest enemy of an organization. This enemy is Paralysis by analysis.

An experienced person should be able to recognize this after a while but the thing here is that if you fall into this loop, you will have time lost and time as I said before is really precious when you organize an event. Given the fact that within reasonably boundaries anything that you plan can take place, time is your only obstacle. It is the mail reason why many good ideas are left out of the organization of many conferences over the years.

This leads to the conclusion that recognition of Paralysis by analysis after the fact is not enough. When starting to organize something always have that in the back of your head. Avoiding it is not that difficult but at some points require to have a good programming of the meetings. What I've noticed over the year is that most of the times people who cause this are the people who lead and most of those times this happens for 2 reasons.

Case 1: Someone has an idea and you know that this idea is either not viable at the timeline you have or it has failed in the past(there are other reasons too but those are the most common). Now you try to convince this person that you should not do that for X reasons. The person is convinced that the idea is perfect and disagrees with you and you all fall in the loop of trying to prove your point. So after a while you spend more time talking that the actual time that would take for this to be done or for this to be failed. You should have a vision of either let the person do this (if you can afford it) or to have this person directed to documentation or other people so that the person will go look for it and see your point. This problem can be partially predicted while reading the agenda of the meeting and knowing the people you work with. Reading the agenda of the meeting before is always important.

Case 2: I often call that The conference bag problem. You and your team have an idea that will make the conference great. There should be a certain limit of how much time you will spent on talking about anything. Normally ideas like conference bags or conference t-shirts are the ones that make you fall into the loop of Paralysis by analysis. This often happens because subjects like that are more light and have unlimited possibilities.

Having a good programming of the conference meetings can save you from those things if you stick to that. Always have in mind that the only thing that you don't have most of the times is time itself.

a silhouette of a person's head and shoulders, used as a default avatar

Announce: LDTP 3.5 - Linux GUI test automation tool

Highlights:
New API:
* inserttext, objtimeout, guitimeout, getcellsize, getcellvalue,
getobjectnameatcoords, getcombovalue, getaccesskey in Python client
* doubleClick, doubleClickRow, onWindowCreate, getCellSize, getComboValue,
appUnderTest, getAccessKey in Java client
* getcellsize, getcellvalue in Ruby client
* GetCellSize, GetComboValue, AppUnderTest, GetAccessKey, MouseRightClick,
DoubleClick, DoubleClickRow, RightClick in C# client

New control type:
* POPUP MENU for Ubuntu environment

Bugs fixed:
Ruby client:
* Fixed optional arguments to imagecapture
* Check window_name parameter, if empty then use @window_name passed in
constructor

Python client:
* Fixed optional argument APIs to work on both Windows and Linux
* imagecapture x, y offset, height and width parameters are disregarded if
window parameter is provided - Bug#685548
* Return unicode string all the time on gettextvalue
* Fix partial match argument in selectrow, compatible with Windows
* Patch by ebass to support Python 2.6
* Added Errno 101 as we see in ebass Ubuntu 10.04 environment

Core LDTP2
* Include label type on gettextvalue
* Don't include separators in the list

Perl client:
* Added perl client

Credit:
* Sawyer X for the Perl interface
* ebass (IRC nick name)
* Marek Rosa
* Thanks to all others who have reported bugs through forum / email /
in-person / IRC

About LDTP:
Cross Platform GUI Automation tool Linux version is LDTP, Windows version
is Cobra and Mac version is PyATOM.

* Linux version is known to work on GNOME / KDE (QT >= 4.8) / Java Swing /
LibreOffice / Mozilla application on all major Linux distribution.
* Windows version is known to work on application written in .NET / C++ /
Java / QT on Windows XP SP3 / Windows 7 / Windows 8 development version.
* Mac GUI testing is known to work on OS X Snow Leopard/Lion/Mountain Lion.
Where ever PyATOM runs, LDTP should work on it.

Download source / binary (RPM/DEB)

Documentation references: API / JavaDoc

For detailed information on LDTP framework and latest updates visit
http://ldtp.freedesktop.org

Report bugs

To subscribe to LDTP mailing lists

IRC Channel - #ldtp on irc.freenode.net

How can you help: Spread the news and send back your feedback to us

a silhouette of a person's head and shoulders, used as a default avatar

Organizing oSC13 - 64 days before




Rule #64// Cornering confidence increases with time and experience.
This pattern continues until it falls sharply and suddenly. 
Taken From http://www.velominati.com/the-rules/

If you ride a bicycle of a motorcycle you should be very familiar with this rule either in theory as written above or in action if you ever slipped in a turn. There are always the bending places and then there is the breaking point of everything. Handling proper situations and 'bending' them when necessarily should also come with the ability of the handler of knowing when something breaks. Knowing and avoiding the breaking point like hell is pretty important. After that last bending point it is you who should come and fill the gap between those bending points. Being lazy for any reason to feel this gap can lead to a total collapse of your whole structure. This is pretty important when organizing something like a conference.

What the organization of a conference is actually looks a lot like a structure made of things that must be there and it is like the foundations of the building, things that is equally important to be there like windows and doors and things that  is good to be there but the whole structure can be operational and without all those like the decoration of the building. The shitty thing here is that most of the people who only know a conference as visitors (and attract visitors is one of your the main goals) get all this backwards.

Having the perfect conditions and everything you need to organize a FOSS conference is beyond imagination so in order to do proper work and in the same time keep everyone of your visitors satisfied you have to 'bend' some things. Most of the time it is your patience and you time but many times is your volunteers and your budget. Did I ever mentioned so far that you have to be very creative? Well when organize a conference many times you will have lemons and you will be asked to make orange juice  No worries. If you and your team are highly creative, making orange juice out of lemons is just foreplay. It is not impossible and once you do it once or twice then you come to a point when you find it very easy. The time you will find something (in other conditions extreme and undo-able) easy be very careful. This is the point when there is a big change to 'fall sharply and suddenly'. There is nothing wrong with failing up to a point. After that point is when you will start having structure problems. If you pay attention you will only have some bruises, if not...

the avatar of Sascha Peilicke

a silhouette of a person's head and shoulders, used as a default avatar

Organizing oSC13 - 65 days before


Feedback is very important while organizing a conference or when organizing or creating anything. Right feedback when it comes it can give you everything. I mean really everything. It can show you what you are doing right or wrong. It can guide you in avoiding dificult situations. It can give you new ideas. It can save you a lot of time. So it is really important to seek and take feedback.

The most important and immediate source of feedback is yourself and the experience you have. The other is your team's experience. That is why when making a team try find people with experience, not neceserally conference or specific to whatever you do experience but life experience. Almost everything you do has to do with people so having people who know how people work is pretty important.

Another important source is feedback from past events. I read tons of blogs from people that attented past openSUSE Conferences. Finding what people liked and what they didn't is one of the best roadmaps you can get. I have to say here that before deciding to take over a conference is of high importance to make a research to see if you can actually do it.

Other than that feel free to bother people who organized great conferences you attended or you heard of. Never hesitate to ask anything, it is afterall the only way to get answers and feedback :D

Above all things try to stop what you are doing regularly and spend some time by asking people what do they think about what you are doing. I know perfectly well that time is really valuable but this is not at all wasted time. Have in mind that many times you will get feedback that you don't really like, meaning bad feedback that say that you are mistaken, accept it and value it. It can be a life saver if it comes from good source.

The feedback is something that is practically imposible to be finished in one(readable) post so I will continue with this at some other post. Afterall how the hll I will manage to fill 64 more posts? 

a silhouette of a person's head and shoulders, used as a default avatar

Organizing oSC13 - 66 days before

This is the first monday since I started writing about the upcomming openSUSE conference. Also I must warn you that I am in a good mood and I don't feel like being modest today, if you get uppset with arrogant people please stop reading this here.
 I will take advantage of every humans hate for that day to write about things I and you might hate but when when you cannot avoid them maybe you should try to take advantage of them.
People who met me at least once might not believe the following but people who really know me know the truth. I don't really like to talk to people, when I was a little I had that problem and this was a big deal when I realize I like girls but in order to flirt you have to do some talking(at least most of the times). As time past by I had too so I started talking, I did that great ( I told you I am not feeling modest today...). In fact I did so great that most of the times I do talk now is because I like what it's happenning when I talk, than because I like talking. Where I am getting with this is that while organizing a conference one thing is for sure, you will do things that you don't really like and in some occasions you might even hate it. Doing those things have in mind that this does not mean that you are doing them wrong. It is very important to be concentrated to it no matter how you despise it so that you will do this thing right, since you have to do it then do it right. This is important also because if you are concentrated you will have to do it once. Also because you don't like on doing something that does not mean that you are not a natural talent. I mean look at me, I am a firefighter and I do not really like to organize conferenses, but I am doing it and trust me it will be one hell of a conference.
One question not answered clearly here is how you can take advantage of it? Well doing anything for the conference you organize, especially when you have to.
Now it is Monday so I am really bored in writting more for today

a silhouette of a person's head and shoulders, used as a default avatar

Organizing oSC13 - 67 days before

So you got your wish and you manage to 'win' that conference. You are in charge now, you personally and a small team(did I mention my team mates Stella and Henne? :D ). A great mistake I always do is thinking that people will do things on their own but the sad and bitter truth is that people expect from you and your team to tell them what to do. But you know what? They are right and I am wrong, it is just a mistake I do all the time because I am feeling that people have some kind of sixth sense and will do things that I want them to do before or without me or the team ask them to. People want to make things happen, especially in FOSS that we are all volunteers and we want things to be done. People also respect the 'hierarchy' that exists and wait for you to ask them, at least most of the times some times they just do stuff and ask you to approve it or not. When you don't ask they think that you somehow have this covered and respect your time and don't ask you about it.

 It is very important to know that you are in charge and what comes with the whole 'you are in charge' thing. A thing to be careful here is that being in charge does make you the one who lead but not the boss of anyone so under no circumstance you have the right to act like a boss. Acting like a boss is one of the things that can ruin your conference and make people leave and that is probably the less possible consequences that such an action will have.

 You have to realise that being nice to people can open many doors and can make things happen. The thing here is to be actually nice and honest and not slimy. If you come to a point that you will become slimy people will eventually abominate you and it will probably have the same consequences as being bossy.
What I learned so far as a member of FOSS communities being and acting as politician is never the right thing to do since people are not stupid and it is impossible to fool a lot of people for a long time.

Now if you come to a point that acting like a polititian or acting honestly but being hard to someone are the only two choices you have my advise is to act hard. So far I believe I won more acting honestly but hard and most of all I gain respect from people for that. There are cases that I lost but if you put well your case then anyone with common sence will understand your possition, for all the others personally I just didn't care and this is not by choise but by nature.

Returning back to the 'you are in charge' thing I must say that it is very important to have some structure planned with your team of how you want things to be done and seperate fields of responsibilities for each part of the team and keep inside your part of responsibilities.
Having a structure will save you from doing unnecessary things and will give you a route of what you want to be done. In certain points this will even show you how to do things. If you have some 'talended' volunteers noticing Trello or whatever tool you will use for organizing your conference, it will show them too how to do things and this will make your life even better and it will save you a lot of time.
Seperate responsibilities with your team mates or giving responsibilities to other people outside your closed team that you trust and believe that will have the job done(Yes Stathis and Thanassis I am talking about    you) is also a great thing to do. Most people in FOSS(and not only) love to be trusted and to be given responsibilities, although I wouldn't count that as a rule so make a conversation with them and be ABSOLUTELY SURE before hand them over such a great burden. If it turns out that you gave someone to do something that he/she was not sure or did not want it will be a great backfire to what you organise and can easily be the dynamite that will explode the whole organisation you do if you won't be careful.
Finishing for today I must say that a real important thing here is to always have an eye to those people, as said in 'The italian job' be carefull because "I trust everyone. It's the devil inside them I don't trust" and by that I mean that there are several cases were people drop something without telling you or any other just because for some reason they cannot tell you or any other. My opinion is that is human nature and I have done it at least once and heard about it like a million happenning. It is not really a trust issue but more of a safety issue in order to prevent bad things from happening. Last but not least, if you trust some pople enough to give them responsibilities, give them freedom to do it their way.