We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Actionaz: Automation for everyone

00:00

Formal Metadata

Title
Actionaz: Automation for everyone
Title of Series
Number of Parts
90
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Actionaz is a task automation tool. It allows you to create and execute action lists. You don't need to known any programming language to use it: its intuitive interface allows you to create action lists (scripts) using drag & drop. This event will introduce the features of the program and what can be done to improve it. Advanced users can use JavaScript (EcmaScript) to extend its functionality.Actionaz is free software and runs under Windows and GNU/Linux. Binaries are available for Windows and Ubuntu for both 32 and 64 bits. It uses the Qt framework.
25
Thumbnail
15:46
51
54
Thumbnail
15:34
55
57
Thumbnail
1:02:09
58
Thumbnail
16:08
62
Thumbnail
13:26
65
67
SoftwareGame theoryScripting languageGroup actionGroup actionLecture/Conference
Group actionScripting languageSoftwareDigital rights managementGame theoryDigital rights managementRange (statistics)Group actionDifferent (Kate Ryan album)Key (cryptography)Arithmetic meanSoftwareWindowWordScripting languageGame theoryContext awarenessComputer programCASE <Informatik>Validity (statistics)Cartesian coordinate systemComputer animation
Scripting languageGroup actionSoftwareGame theoryComputer programmingDrag (physics)Scripting languageGroup actionCondition numberCASE <Informatik>Parameter (computer programming)Sheaf (mathematics)PlastikkarteEntire functionComputer filePosition operatorBitGame theoryWindowWeb pageCodeCursor (computers)Regular graphJava appletVariable (mathematics)ResultantLatin squareMultiplication signType theoryString (computer science)Medical imagingWeb browserFunctional programmingTouchscreenProgramming languageTriangleFuzzy logicSocial classExecution unitElectronic mailing listLine (geometry)NumberAlgorithmVideo game consoleError messageUniform resource locatorComputer programLecture/Conference
Computing platformComputing platformSource codeMultiplication signComputer programMixed realityFreewareComputer animation
Windows VistaComputing platformRepository (publishing)ArchitectureGroup actionPlug-in (computing)CodeText editorIndependence (probability theory)Distribution (mathematics)Office suiteNetwork topologyInterface (computing)Scripting languageWindowComputing platformSoftwareComputer programGroup actionFreewareLecture/ConferenceComputer animation
ArchitectureGroup actionPlug-in (computing)CodeText editorIndependence (probability theory)Computing platformScripting languageComputerFile archiverComputer fileGroup actionCodeComputing platformBitCross-platformPlug-in (computing)Lecture/ConferenceComputer animation
Computing platformScripting languageRow (database)PlanningOnline helpSoftware bugOperating systemInstance (computer science)Mathematical singularityCodeOperator (mathematics)Lecture/Conference
Scripting languageoutputTask (computing)DatabaseScripting languageGroup actionComputing platformoutputMultiplication signCondition numberComputer fileWindowInstance (computer science)Computer programMedical imagingKeyboard shortcutTask (computing)Focus (optics)HookingCodeRow (database)Data storage deviceComputer animation
Scripting languageWeb 2.0SoftwareGoodness of fitElectronic mailing listUsabilityDatabaseComputerGroup actionWeb pageSource codeParallel portPosition operatorDistribution (mathematics)Different (Kate Ryan album)EmailSoftware developerInformationAreaLecture/Conference
Open sourceWebsiteElectronic mailing listMultiplication signComputer animation
Lecture/Conference
Transcript: English(auto-generated)
So hello everyone So the topic of this talk will be xns3 automation for everyone So first what do we want to What is actually the meaning of automation because it's a word that's used in many Contexts in that case. It's software
Automation it's a software automation tool. That means that it's most often used in games software validation business applications So it's it's not It's not like software that you can use to test your program. You can do that, but it has a wider
broader range of users So it works as scripts and scripts contain different actions and actions can be house clicks key presses Window management actions file access etcetera and
There are 46 different Actions so for everyone because you didn't don't need to learn any new programming Language to use it. You just have to drag and drop the actions
and that allows non programmers to use that tool and automate some actions But it's still developer friendly because you can program you can enter some JavaScript code in the parameters of the actions and that JavaScript code will be evaluated when the action is
Executed so it allows you more customization and you also can write An entire file in JavaScript using Classes that are provided by
Actioners who can really write only in JavaScript if you want to So, let's see a short Example here. I have script and On the left side. We can see this is the main of course the main Window of actioners and you can see on the left as different
The different actions that are available and at the center you can see the list of actions the script That I've added here and with a line number that you can write so you can write a label if you want to Name of actions and some comments if you want to explain what this action does and on the right side
you have console where there are where the Execution errors will be printed and you can also write some text there if you want to debug So, let's see the first action it's a variable Action here. We will create a variable named FOSDEM URL and it's type
It's a string and here you can see that there is a small red Triangle it means that the text I've hunted entered here is not regular text. It's the JavaScript So here in that case, I create a simple string and I use a JavaScript function to get the current here and
that all of that builds a string that contains the URL to this Lightning talk so the goal of the whole script I don't think I've said it is to show to open a browser Firefox and to show the page of this
Lightning talk So And the next action is a detached command because you can run of course commands and in that case We run the command Firefox and we use a parameter here and you can see that here. It's not JavaScript It's regular text, but you can insert in regular text a variable
Here is FOSDEM URL and it starts with a dollar like in PHP So it allows people who don't want to or don't know how to program in JavaScript to insert some basic variables in text Then we have a window condition the idea of that is to
Wait for a window with a specific title to appear or there are of course other conditions, but in that case we have The title is FOSDEM and you can see there a star before and after because you can use some wildcards if you want to To have a title in that case, which was the title contains FOSDEM
So we wait until it exists because if if it's true, that means that we found it We do nothing that means that we go to the next action And if it doesn't exist then we wait so the script execution will block on this action until we found that window we
And then we have a pause. Of course, we make suppose that's amazing For here for one second, so that's cool The next action is more interesting. It's find image action here this allows you to search for an image either on the screen to make within a screenshot or
within another action or within a window and that uses some OpenCV Algorithm and here we search on the screen for Image called FOSDEM and it's image here
So it's the FOSDEM logo because we need to search that on the on the browser And we store the result and the position we found in a new variable called FOSDEM position Then there are four other actions. I don't detail each one of them because it would
Take some time, but the idea here is to move the cursor and the position we found then scroll the wheel to scroll to get down on the page and find the action as text here and then click on it and
That works should work So yeah a bit of history I started coding action as in 2005 because a friend wanted to play a game where he had to click often on something and
Well, it was written in C+. That's not the typo. It's really C+, because it was horrible It was some kind of strange mix between C and C++ So it's a freeware Source code is not available because it's so horrible. It used the MFC Okay, so in 2006 I rewrote the whole stuff and I used WX widgets, which was quite cool and
It was still freeware. So in 2009 I rewrote for the second time the whole program. Now it's in C++ And it used Qt. So now it also works on Linux Linux is Okay
So and platforms and license it works on GNU, Linux based Distributions there is a package in the Debian officer Repository, sorry, so it's easy to install and Debian, Ubuntu, Mint, etc It should work without any problems and other distributions, but I don't have any package for them
So if someone is interested, of course, I will be very Interested to have packages for these platforms, of course it also works on Windows XP and newer and it's free software trees and
and the Google GPL license, so now some Architectural stuff there are two programs When it's called Axionas, it's the main Program with a window where you can edit your scripts and add some actions or and also
you can Start them, but there is also a second program called ActExec, which is a small program without any interface that allows you to execute a script. It's used Also on Windows because on Windows you can make some specific script, which is actually
7-zip Archive that is automatically that is auto extractable so you can run Script on a computer where Axionas is not installed. I Haven't done that for Linux because I don't really see his interest in that and it would be a lot a bit more Complicated and I don't know if there is a really a need for that, but that could be done, of course
Actions are in packs and each pack is a plug-in. So it's easy to write new actions Each action could be a plug-in but the idea of the packs would have to To share some dependencies between the actions in one file. This was a main idea
90% of the code is platform independent because it's cute. So it's really not a problem to port that to a new platform The 10% are of course some specific stuff like emulating a click and things like that which don't exist on Qt
So that's depend of course of the operating system, but it's a code which is not It's not really separated from the rest that that's really a problem. But I have a plan to To put that somewhere which is which is which could be more easy to port that to new platforms
So of course help is needed because there are lots of new ideas lots of improvements Some bug fixes that could be done For instance For the new ideas, there is a script resources idea And the basic idea of that is to take a file which a script depends on for instance an image that you want to find
And to encode that in base 64 and include that in the XML of the script file I have already done some coding for that, but it's not finished yet. A script recording, the idea of that is to Allow to have a button when you can click and it will record the actions you do and automatically add them
mainly works for clicks and keyboard Actions. The problem with that is that there is no cross-platform way to store a key It's really complicated because each platform has its own way and own ways of storing them and defining them
So that's actually more tricky than it seems There is also an idea to wait for input the idea of that is to say we want to wait for the user to click or To press any key and should work even if Axionas of course doesn't have the focus so On Windows it works for instance. It works by making a hook
Yeah, the sound recording That's obvious. A task planner, the idea of that is to have some program running all the time and waiting for some conditions to be fulfilled and Execute one or more scripts and of course the next idea is to be to parallelize
execution of scripts Because yeah, and that that of course adds some There's some issues with that because what happens if one script want to move the mouse to one position the mouse Closer of course that's mouse itself and anyway and another one wants to do the same
What happens then? So it could be a problem that has to be solved and Other idea is to make a script database That allows users to upload scripts and download script from others. Of course, there will have to be some
Some checking for scripts because a script can potentially do Anything on your computer so it's better if it's not some evil stuff, so yeah And other things web actions idea would be to execute some actions on a web page using JavaScript. There are of course
More specific software doing that and of course probably much better, but idea is to have to some basic stuff to do that Acute 5 of course would be a good idea usability improvements Documentation there is also some there is already some reference documentation, but tutorials would be a good idea
Packaging there is a packaging for Debian, but it would be nice to have some packaging for other distributions Macintosh would be a good idea. I don't have one. So if someone wants to of course, it's really welcome If you need more information, there is a website There are three different mailing lists one for developers two for users
the source code is available on github and Yeah, that's everything. So thank you everyone. Thank you for them, of course, and if you have some questions I will be outside near the door Thank you