Tryton Technical Training

Size: px
Start display at page:

Download "Tryton Technical Training"

Transcription

1 Tryton Technical Training N. Évrard B 2CK September 18, 2015 N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

2 Overview and Installation Outline 1 Overview and Installation Tryton Overview Prerequisites Initializing tryton 2 A basic module 3 Some more advanced features 4 Additional topics N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

3 Overview and Installation Tryton Overview Global overview A general purpose application platform Web shop Insurance software GNU Health Traditional ERP Covers lot of fields Accounting Sales Management Stock Management... Free Software GPL-3 Tryton foundation TU* N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

4 Overview and Installation Tryton Overview Technical Overview Written in Python Three tiers architecture PyGTK client (tryton) and a JavaScript client (sao) in its infancy Application Server (trytond) dbms, usually PostgreSQL but you can use SQLite or even MySQL Modularity of business functionalities N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

5 Overview and Installation Prerequisites Python good practices (pip & virtualenv) pip is THE tool for installing and managing Python packages. virtualenv is THE tool used to create isolated Python environment. create isolated Python environments Do not mix different version of your libraries / applications Installation of packages in the user $HOME pip install virtualenv (or your distro package manager) virtualenv --system-site-packages.venv/trytond source.venv/trytond/bin/activate hgnested is a mercurial extension. The tryton project use it to easily apply the same command on nested repositories. N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

6 Overview and Installation Prerequisites Configuring mercurial In order to activate both the hgnested and MQ extensions of Mercurial we will need to add those lines to your.hgrc [extensions] hgext.mq = hgnested = N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

7 Overview and Installation Initializing tryton Installing trytond $ hg nclone -b 3.4 $ cd trytond $ pip install -e. $ pip install vobject N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

8 Overview and Installation Initializing tryton Setting up a trytond config file Here is a minimal example of a configuration file. You should save it in $HOME/.trytond.conf [database] path = /home/training/databases We will set the TRYTOND_CONFIG environment variable $ export TRYTOND_CONFIG=$HOME/.trytond.conf N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

9 Overview and Installation Initializing tryton Initializing a minimal trytond database $ touch ~/databases/test.sqlite $./bin/trytond -d test -u ir res trytond will ask you for the admin password at the end of the installation process. N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

10 Overview and Installation Initializing tryton Adding a new modules In this tutorial we will use a MQ repository in order to progress step by step. $ cd trytond/modules $ hg init training $ cd training/.hg $ hg clone -b 3.4 patches N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

11 A basic module Outline 1 Overview and Installation 2 A basic module A minimal module Defining some object / tables Different fields Defining a tree and a form view Default values and on_change calls 3 Some more advanced features 4 Additional topics N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

12 A basic module A minimal module A minimal trytond modules A minimal trytond modules needs two files: init.py the usual file needed by all python modules tryton.cfg the file that helps tryton glue together model and view definitions N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

13 A basic module A minimal module The content of tryton.cfg [tryton] version=0.0.1 depends: ir res N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

14 A basic module Defining some object / tables Creating a model A trytond model is a python class inheriting from Model. To enable the SQL persistence the model must inherit of ModelSQL. from t r y t o n d. model import ModelSQL a l l = [ O p p o r t u n i t y ] c l a s s Opportunity (ModelSQL ) : Opportunity name = t r a i n i n g. opportunity N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

15 A basic module Defining some object / tables Register the model In order for your object to be "known" by trytond they must be registered into the pool. from trytond. pool import Pool from. o p p o r t u n i t y import def r e g i s t e r ( ) : Pool. r e g i s t e r ( Opportunity, module= t r a i n i n g, type_= model ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

16 A basic module Defining some object / tables Adding fields to a model c l a s s Opportunity (ModelSQL ) : Opportunity name = t r a i n i n g. opportunity _rec_name = d e s c r i p t i o n description = fields. Char ( Description, required=true ) s t a r t _ d a t e = f i e l d s. Date ( S t a r t Date, required=true ) end_date = fields. Date ( End Date ) party = f i e l d s. Many2One ( party. party, Party, required=true ) comment = fields. Text ( Comment ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

17 A basic module Defining some object / tables fields arguments string A string for label of the field. required A boolean if True the field is required. readonly A boolean if True the field is not editable in the user interface. domain A list that defines a domain constraint. states A dictionary. Possible keys are required, readonly and invisible. Values are pyson expressions that will be evaluated with record values. This allows to change dynamically the attributes of the field. The whole list in trytond/model/fields/field.py N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

18 A basic module Different fields fields.char In a tryton module: description = fields. Char ( Description, required=true ) In the interface: In SQL: d e s c r i p t i o n VARCHAR NOT NULL N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

19 A basic module Different fields fields.date In a tryton module: start_ date = fields. Date ( Start Date, required=true ) In the interface: In SQL: s t a r t _ d a t e DATE NOT NULL N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

20 A basic module Different fields fields.text In a tryton module: comment = fields. Text ( Comment ) In the interface: In SQL: comment TEXT N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

21 A basic module Different fields fields.many2one In a tryton module: party = fields. Many2One ( party. party, Party, required=true ) In the interface: In SQL: p a r t y integer NOT NULL, FOREIGN KEY( p a r t y ) REFERENCES p a r t y _ p a r t y ( i d ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

22 A basic module Different fields Other relation fields fields.one2many fields.many2many fields.one2one N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

23 A basic module Defining a tree and a form view Displaying data To use the presentation layer your model must inherit from ModelView c l a s s Opportunity (ModelSQL, ModelView ) : You must also add the xml presentation file in the tryton.cfg configuration file xml: opportunity.xml N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

24 A basic module Defining a tree and a form view Defining a view View objects are normal tryton objects (trytond/ir/ui/view.py) Two kind of view: Tree view a list of record Form view a view for editing/creating one record N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

25 A basic module Defining a tree and a form view A tree view < r e c o r d model=" i r. u i. view " i d =" o p p o r t u n i t y _ v i e w _ l i s t "> < field name=" model ">training. opportunity</ field > < f i e l d name=" t y p e "> t r e e < / f i e l d > < field name="name "> opportunity_ list < / field > < / r e c o r d > < t r e e s t r i n g =" O p p o r t u n i t i e s "> < f i e l d name=" p a r t y " / > < field name=" description " / > < f i e l d name=" s t a r t _ d a t e " / > < field name=" end_date " / > < / t r e e > N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

26 A basic module Defining a tree and a form view A form view <record model=" ir. ui. view " id=" opportunity_view_form "> < field name=" model ">training. opportunity</ field > < field name=" type ">form< / field > < field name="name ">opportunity_form</ field > < / r e c o r d > <form s t r i n g =" O p p o r t u n i t y "> < l a b e l name=" p a r t y " / > < f i e l d name=" p a r t y " / > < l a b e l name=" d e s c r i p t i o n " / > < field name=" description " / > < l a b e l name=" s t a r t _ d a t e " / > < f i e l d name=" s t a r t _ d a t e " / > <label name=" end_date " / > < field name=" end_date " / > < s e p a r a t o r name=" comment " c o l s p a n =" 4 " / > < field name="comment " colspan="4" / > < / form> N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

27 A basic module Defining a tree and a form view Gluing them together <record model=" i r. action. act_window " i d =" a c t _ o p p o r t u n i t y _ f o r m "> < field name="name ">Opportunities</ field > < field name=" res_model ">training. opportunity</ field > < / r e c o r d > < r e c o r d model=" i r. a c t i o n. act_window. view " i d =" a c t _ o p p o r t u n i t y _ f o r m _ v i e w 1 "> < field name=" sequence " eval="10 " / > < f i e l d name=" view " r e f =" o p p o r t u n i t y _ v i e w _ t r e e " / > < f i e l d name=" act_window " r e f =" a c t _ o p p o r t u n i t y _ f o r m " / > < / r e c o r d > < r e c o r d model=" i r. a c t i o n. act_window. view " i d =" a c t _ o p p o r t u n i t y _ f o r m _ v i e w 2 "> < field name=" sequence " eval="20 " / > < field name=" view " ref=" opportunity_view_form " / > < f i e l d name=" act_window " r e f =" a c t _ o p p o r t u n i t y _ f o r m " / > < / r e c o r d > N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

28 A basic module Defining a tree and a form view Adding menu entries <menuitem name=" T r a i n i n g " i d =" m e n u _ t r a i n i n g " / > <menuitem parent=" menu_training " a c t i o n =" a c t _ o p p o r t u n i t y _ f o r m " id=" menu_opportunity_form " / > N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

29 A basic module Default values and on_change calls Adding default values Create a method in the object with the name s t a t i c m e t h o d def d e f a u l t _ s t a r t _ d a t e ( ) : pool = Pool ( ) Date = pool. g e t ( i r. d a t e ) return Date. t o d a y ( ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

30 A basic module Default values and on_change calls Reacting to user input: on_change Tryton provides a way to react on the user input by changing the value of other fields. This mechanism is call the on_changes. They come in two flavours: on_change_<field name> When a field is changed a list of value is sent to the server. The server sends the new values of some fields on_change_with_<field name> A field value is computed when any field in a list of fields is modified. The computation occurs on the server. In both case the list of fields sent to the server is specified thanks to the N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

31 A basic module Default values and on_change calls f i e l d s. depends ( p a r t y ) def on_change_party ( s e l f ) : a d d r e s s = None i f s e l f. p a r t y : a d d r e s s = s e l f. p a r t y. a d d r e s s _g e t ( type = i n v o i c e ) return { a d d r e s s : a d d r e s s, } N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

32 A basic module Default values and on_change calls f i e l d s. depends ( s t a r t _ d a t e ) def on_change_with_end_date ( s e l f ) : i f s e l f. s t a r t _ d a t e : return self. start_ date + datetime. timedelta ( days =7) return None N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

33 Some more advanced features Outline 1 Overview and Installation 2 A basic module 3 Some more advanced features Workflows More beautiful views Function fields Wizards Extending pre-existing tryton objects 4 Additional topics N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

34 Some more advanced features Workflows Adding workflow to object Your object should inherit from Workflow c l a s s Opportunity ( Workflow, ModelSQL, ModelView ) : It must have a state field: s t a t e = f i e l d s. Selection ( [ ( o p p o r t u n i t y, O p p o r t u n i t y ), ( c o n v e r t e d, Converted ), ( l o s t, Lost ), ], S t a t e, r e q u i r e d =True, r e a d o n l y =True, s o r t = F a l s e ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

35 Some more advanced features Workflows Defining a workflow A workflow is composed of def s e t u p ( c l s ) : super ( O p p o r t u n i t y, c l s ). s e t u p ( ) c l s. _ t r a n s i t i o n s \ = s e t ( ( ( o p p o r t u n i t y, c o n v e r t e d ), ( o p p o r t u n i t y, l o s t ), ) ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

36 Some more advanced features Workflows Defining transition method Each transition must be linked a t r a n s i t i o n ( c o n v e r t e d ) def c o n v e r t ( cls, o p p o r t u n i t i e s ) : pool = Pool ( ) Date = pool. g e t ( i r. d a t e ) c l s. w r i t e ( o p p o r t u n i t i e s, { e n d _ d a t e : Date. t o d a y ( ), } ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

37 Some more advanced features Workflows Adding buttons in view Now we need to add buttons in the view <button name=" convert " string =" Convert " icon=" tryton go next " / > The method must be "button decorated" to be callable and def s e t u p ( c l s ) :... c l s. _ b u t t o n s. u p d a t e ( { c o n v e r t : {}, l o s t : {}, t r a n s i t i o n ( c o n v e r t e d ) def c o n v e r t ( cls, o p p o r t u n i t i e s ) :... N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

38 Some more advanced features More beautiful views Making the view more beautiful Let s add the state and the buttons to the opportunity view. There is also a way of grouping widgets <group co l =" 2 " colspan =" 2 " id =" s t a t e "> < l a b e l name=" s t a t e " / > < f i e l d name=" s t a t e " / > < / group > <group c o l =" 2 " c o l s p a n =" 2 " i d =" b u t t o n s "> <button name=" lost " string =" Lost " icon=" tryton cancel " / > <button name=" convert " string =" Convert " icon=" tryton go next " / > < / group > N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

39 Some more advanced features More beautiful views Adding dynamicity in the form Of course sometimes you want to make fields readonly/invisible/required under certain conditions. This behavior can be implemented using the states attribute of fields: start_ date = fields. Date ( Start Date, required=true, s t a t e s ={ r e a d o n l y : Eval ( s t a t e )!= o p p o r t u n i t y, }, depends =[ s t a t e ] ) end_date = fields. Date ( End Date, readonly=true, s t a t e s ={ r e q u i r e d : Eval ( s t a t e ). i n _ ( [ c o n v e r t e d, l o s t ] ), }, depends =[ s t a t e ] ) pyson is used to encode statements that can be evaluated. N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

40 Some more advanced features More beautiful views Adding dynamicity to buttons pyson expression can also be used on buttons to hide def s e t u p ( c l s ) :... c l s. _ b u t t o n s. u p d a t e ( { c o n v e r t : { i n v i s i b l e : ~ Eval ( s t a t e ) \. i n _ ( [ o p p o r t u n i t y ] ), }, l o s t : { i n v i s i b l e : ~ Eval ( s t a t e ) \. i n _ ( [ o p p o r t u n i t y ] ), }, } ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

41 Some more advanced features Function fields Defining a simple function field A function field is a field that is computed into python its data is not persistently store into the database. d u r a t i o n = f i e l d s. F u n c t i o n ( f i e l d s. I n t e g e r ( D u r a t i o n ), g e t _d u r a t i o n ) def get_duration ( self, name=none ) : i f not s e l f. s t a r t _ d a t e or not s e l f. end_date : return None return ( s e l f. e n d _ d a t e s e l f. s t a r t _ d a t e ). days Any tryton type can be used. Note also that since this signature is the same as the one of an on_change_with then the same function can be used for both. Of course a setter and a searcher can also be defined in order to modify or search corresponding data. N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

42 Some more advanced features Function fields Defining a function field operating by batch The previous example makes one call per record. Tryton provides a way to compute the values by batch. In order to do so the getter must be a classmethod and it must return a dictionary mapping the id to the function value. d e s c r i p t i o n _ l e n g t h = f i e l d s. F u n c t i o n ( f i e l d s. I n t e g e r ( D e s c r i p t i o n Length ), g e t _ d e s c r i p t i o n _ l e n g t h def get_ description_ length ( cls, opportunities, name ) : cursor = Transaction. cursor ( ) o p p o r t u n i t y = c l s. t a b l e ( ) query = o p p o r t u n i t y. s e l e c t ( opportunity. id, CharLength ( opportunity. description ) ) c u r s o r. e x e c u t e ( query ) return d i c t ( c u r s o r. f e t c h a l l ( ) ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

43 Some more advanced features Wizards Adding actions to model Sometime you want to add functionalities to a model that do not suite the use of a button. For this kind of use case the wizard is your solution. A wizard is composed of two things: A set of views that represent the form to gather the user input A "state machine" that define what should be done N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

44 Some more advanced features Wizards Wizard views Those are standard ModelView, you can define on_change, on_change_with and default values on them. c l a s s C o n v e r t O p p o r t u n i t i e s S t a r t ( ModelView ) : Convert Opportunities name = t r a i n i n g. o p p o r t u n i t y. c o n v e r t. s t a r t N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

45 Some more advanced features Wizards Wizard "state machine" This is a class that inherits from Wizard. You ll be able to define different states on it. from trytond. wizard import Wizard, StateView, S t a t e T ra n s i t i o n, Button c l a s s C o n v e r t O p p o r t u n i t i e s ( Wizard ) : Convert Opportunities name = t r a i n i n g. opportunity. convert s t a r t = StateView ( t r a i n i n g. o p p o r t u n i t y. c o n v e r t. s t a r t, t r a i n i n g. opportunity_ convert_ start_ view_ form, [ Button ( Cancel, end, t r y t o n c a n c e l ), Button ( Convert, c o n v e r t, t r y t o n ok, d e f a u l t =True ), ] ) convert = S t a t e T r a n s i t i o n ( ) def t r a n s i t i o n _ c o n v e r t ( s e l f ) : pool = Pool ( ) O p p o r t u n i t y = pool. g e t ( t r a i n i n g. o p p o r t u n i t y ) opportunities = Opportunity. browse ( T r a n s a c t i o n ( ). c o n t e x t [ a c t i v e _ i d s ] ) O p p o r t u n i t y. c o n v e r t ( o p p o r t u n i t i e s ) return end N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

46 Some more advanced features Wizards Activating the wizard <record model=" ir. action. wizard " id=" act_ convert_ opportunities "> < field name="name ">Convert Opportunities</ field > < field name=" wiz_name ">training. opportunity. convert</ field > < field name=" model ">training. opportunity</ field > < / r e c o r d > < r e c o r d model=" i r. a c t i o n. keyword " i d =" a c t _ c o n v e r t _ o p p o r t u n i t i e s _ k e y w o r d "> < field name=" keyword ">form_action</ field > < field name=" model ">training. opportunity, 1< / field > < field name=" action " ref=" act_ convert_ opportunities " / > < / r e c o r d > N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

47 Some more advanced features Extending pre-existing tryton objects Extending models Sometimes you want to extend existing objects to add miscellaneous information. Doing so is just a matter of (tryton) inheritance: from t r y t o n d. model import f i e l d s from trytond. pool import PoolMeta a l l = [ P a r t y ] m e t a c l a s s = PoolMeta c l a s s Party : name = p a r t y. p a r t y opportunities = f i e l d s. One2Many ( t r a i n i n g. o p p o r t u n i t y, p a r t y, Opportunities ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

48 Some more advanced features Extending pre-existing tryton objects Extending existing views Modifing existing view is done by adding record in the XML files that specify an xpath and what to do with the resulting node. <record model=" ir. ui. view " id=" party_view_form "> < field name=" model ">party. party</ field > < field name=" inherit " ref=" party. party_view_form " / > < field name="name ">party_form</ field > < / r e c o r d > < d a t a > <xpath expr=" / form / notebook / page accounting ] " p o s i t i o n =" a f t e r "> <page name=" o p p o r t u n i t i e s " c o l =" 1 "> < s e p a r a t o r name=" o p p o r t u n i t i e s " / > < field name=" opportunities " / > < / page > < / x p a t h > < / d a t a > N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

49 Additional topics Outline 1 Overview and Installation 2 A basic module 3 Some more advanced features 4 Additional topics Reporting proteus Table Queries N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

50 Additional topics Reporting Adding a report To add a report you must create an odt template that is compatible with relatorio ( This report engine allows you to create opendocument files from templates. N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

51 Additional topics Reporting Making trytond aware of the report You must define a python class that will register a report object from trytond. r e p o r t import Report c l a s s O p p o r t u n i t y R e p o r t ( Report ) : pass You might want to overload the parse method to define a specific behavior. N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

52 Additional topics Reporting Creating the report object < r e c o r d model=" i r. a c t i o n. r e p o r t " i d =" r e p o r t _ o p p o r t u n i t y "> < field name="name ">Opportunity</ field > < field name=" model ">training. opportunity</ field > < field name=" report_name ">training. opportunity</ field > < field name=" report ">training / opportunity. odt< / field > < / r e c o r d > <record model=" i r. action. keyword " i d =" r e p o r t _ o p p o r t u n i t y _ k e y w o r d "> < field name=" keyword ">form_print</ field > < field name=" model ">training. opportunity, 1< / field > < field name=" action " ref=" report_ opportunity " / > < / r e c o r d > N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

53 Additional topics proteus Using proteus to script tryton You might want to script your tryton server. For this there is the proteus library. It will allow you to interact with it in a python way. With models you will be able to use the find, edit, delete and create objects You will also have the possiblity to use the wizards. N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

54 Additional topics proteus Setting up proteus To set up proteus, you first need a connection to a Tryton server: either through xml-rpc using the set_xmlrpc method or on the same compute using the set_trytond method The latter will use the possibility to import trytond to create and set up an internal trytond server. N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

55 Additional topics proteus An example of proteus i m p o r t csv i m p o r t d a t e t i m e i m p o r t s y s from proteus import config, Model d e f main ( a r g s ) : P a r t y = Model. g e t ( p a r t y. p a r t y ) Opportunity = Model. get ( training. opportunity ) c s v _ f i l e = csv. D i c t R e a d e r ( open ( a r g s [ 1 ], r ) ) f o r l i n e i n c s v _ f i l e : p a r t i e s = P a r t y. f i n d ( [ ( name, =, l i n e [ P a r t y ] ) ] ) i f n o t p a r t i e s : p a r t y = P a r t y ( name= l i n e [ P a r t y ] ) p a r t y. s ave ( ) e l s e : party = p a r t i e s [ 0 ] l i n e _ d a t e = d a t e t i m e. d a t e t i m e. s t r p t i m e ( l i n e [ Date ], %d/%m/%y ). d a t e ( ) new_opportunity = O p p o r t u n i t y ( p a r t y = party, description=line [ Description ], start_ date =line_ date ) new_opportunity. save ( ) i f name == main : c o n f i g. s e t _ t r y t o n d ( password = admin, database_name = t r a i n i n g ) main ( s y s. argv ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

56 Additional topics Table Queries Creating a view object table_query allows you to define a sql-query to use as source of the records. c l a s s OpportunityByParty (ModelSQL, ModelView ) : O p p o r t u n i t i e s by P a r t y name = t r a i n i n g. opportunity_ by_ party party = fields. Many2One ( party. party, Party, readonly=true ) opportunity_count = fields. Integer ( Opportunity count, readonly=true def t a b l e _ q u e r y ( c l s ) : pool = Pool ( ) o p p o r t u n i t y _ t a b l e = pool. g e t ( t r a i n i n g. o p p o r t u n i t y ). t a b l e ( ) columns = [ Min ( o p p o r t u n i t y _ t a b l e. id ). as_ ( i d ), Max( opportunity_ table. create_uid ). as_ ( create_uid ), Max( o p p o r t u n i t y _ t a b l e. c r e a t e _ d a t e ). as_ ( c r e a t e _ d a t e ), Max( o p p o r t u n i t y _ t a b l e. w r i t e _ u i d ). as_ ( w r i t e _ u i d ), Max( o p p o r t u n i t y _ t a b l e. write_date ). as_ ( write_date ), opportunity_ table. party, Count ( o p p o r t u n i t y _ t a b l e. id ). as_ ( o p p o r t u n i t y _ c o u n t ), ] group_by = [ o p p o r t u n i t y _ t a b l e. p a r t y ] return opportunity_ table. select ( columns, group_by=group_by ) N. Évrard (B 2 CK) Tryton Technical Training September 18, / 56

Scripting Languages Fast development, extensible programs

Scripting Languages Fast development, extensible programs Scripting Languages Fast development, extensible programs Devert Alexandre School of Software Engineering of USTC November 30, 2012 Slide 1/60 Table of Contents 1 Introduction 2 Dynamic languages A Python

More information

Administering your Enterprise Geodatabase using Python. Jill Penney

Administering your Enterprise Geodatabase using Python. Jill Penney Administering your Enterprise Geodatabase using Python Jill Penney Assumptions Basic knowledge of python Basic knowledge enterprise geodatabases and workflows You want code Please turn off or silence cell

More information

From BASIS DD to Barista Application in Five Easy Steps

From BASIS DD to Barista Application in Five Easy Steps Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates

More information

Troubleshooting Replication and Geodata Services. Liz Parrish & Ben Lin

Troubleshooting Replication and Geodata Services. Liz Parrish & Ben Lin Troubleshooting Replication and Geodata Services Liz Parrish & Ben Lin AGENDA: Troubleshooting Replication and Geodata Services Overview Demo Troubleshooting Q & A Overview of Replication Liz Parrish What

More information

From BASIS DD to Barista Application in Five Easy Steps

From BASIS DD to Barista Application in Five Easy Steps Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates

More information

Databases through Python-Flask and MariaDB

Databases through Python-Flask and MariaDB 1 Databases through Python-Flask and MariaDB Tanmay Agarwal, Durga Keerthi and G V V Sharma Contents 1 Python-flask 1 1.1 Installation.......... 1 1.2 Testing Flask......... 1 2 Mariadb 1 2.1 Software

More information

Geodatabase Programming with Python

Geodatabase Programming with Python DevSummit DC February 11, 2015 Washington, DC Geodatabase Programming with Python Craig Gillgrass Assumptions Basic knowledge of python Basic knowledge enterprise geodatabases and workflows Please turn

More information

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation.

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation. ST-Links SpatialKit For ArcMap Version 3.0.x ArcMap Extension for Directly Connecting to Spatial Databases ST-Links Corporation www.st-links.com 2012 Contents Introduction... 3 Installation... 3 Database

More information

Geodatabase Programming with Python John Yaist

Geodatabase Programming with Python John Yaist Geodatabase Programming with Python John Yaist DevSummit DC February 26, 2016 Washington, DC Target Audience: Assumptions Basic knowledge of Python Basic knowledge of Enterprise Geodatabase and workflows

More information

Deep-dive into PyMISP MISP - Malware Information Sharing Platform & Threat Sharing

Deep-dive into PyMISP MISP - Malware Information Sharing Platform & Threat Sharing Deep-dive into PyMISP MISP - Malware Information Sharing Platform & Threat Sharing Team CIRCL http://www.misp-project.org/ Twitter: @MISPProject MISP Training @ Helsinki 20180423 Context MISP is complex

More information

Introduction to ArcGIS Server - Creating and Using GIS Services. Mark Ho Instructor Washington, DC

Introduction to ArcGIS Server - Creating and Using GIS Services. Mark Ho Instructor Washington, DC Introduction to ArcGIS Server - Creating and Using GIS Services Mark Ho Instructor Washington, DC Technical Workshop Road Map Product overview Building server applications GIS services Developer Help resources

More information

Introduction to Portal for ArcGIS

Introduction to Portal for ArcGIS Introduction to Portal for ArcGIS Derek Law Product Management March 10 th, 2015 Esri Developer Summit 2015 Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration

More information

Portal for ArcGIS: An Introduction

Portal for ArcGIS: An Introduction Portal for ArcGIS: An Introduction Derek Law Esri Product Management Esri UC 2014 Technical Workshop Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration

More information

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde ArcGIS Enterprise: What s New Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde ArcGIS Enterprise is the new name for ArcGIS for Server ArcGIS Enterprise Software Components ArcGIS Server Portal

More information

Introduction to Portal for ArcGIS. Hao LEE November 12, 2015

Introduction to Portal for ArcGIS. Hao LEE November 12, 2015 Introduction to Portal for ArcGIS Hao LEE November 12, 2015 Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration options Portal for ArcGIS + ArcGIS for

More information

Geodatabase Management Pathway

Geodatabase Management Pathway Geodatabase Management Pathway Table of Contents ArcGIS Desktop II: Tools and Functionality 3 ArcGIS Desktop III: GIS Workflows and Analysis 6 Building Geodatabases 8 Data Management in the Multiuser Geodatabase

More information

Leveraging Web GIS: An Introduction to the ArcGIS portal

Leveraging Web GIS: An Introduction to the ArcGIS portal Leveraging Web GIS: An Introduction to the ArcGIS portal Derek Law Product Management DLaw@esri.com Agenda Web GIS pattern Product overview Installation and deployment Configuration options Security options

More information

OECD QSAR Toolbox v.4.1. Tutorial illustrating new options for grouping with metabolism

OECD QSAR Toolbox v.4.1. Tutorial illustrating new options for grouping with metabolism OECD QSAR Toolbox v.4.1 Tutorial illustrating new options for grouping with metabolism Outlook Background Objectives Specific Aims The exercise Workflow 2 Background Grouping with metabolism is a procedure

More information

Geodatabase Best Practices. Dave Crawford Erik Hoel

Geodatabase Best Practices. Dave Crawford Erik Hoel Geodatabase Best Practices Dave Crawford Erik Hoel Geodatabase best practices - outline Geodatabase creation Data ownership Data model Data configuration Geodatabase behaviors Data integrity and validation

More information

Arboretum Explorer: Using GIS to map the Arnold Arboretum

Arboretum Explorer: Using GIS to map the Arnold Arboretum Arboretum Explorer: Using GIS to map the Arnold Arboretum Donna Tremonte, Arnold Arboretum of Harvard University 2015 Esri User Conference (UC), July 22, 2015 http://arboretum.harvard.edu/explorer Mission

More information

Appendix 4 Weather. Weather Providers

Appendix 4 Weather. Weather Providers Appendix 4 Weather Using weather data in your automation solution can have many benefits. Without weather data, your home automation happens regardless of environmental conditions. Some things you can

More information

Bentley Map Advancing GIS for the World s Infrastructure

Bentley Map Advancing GIS for the World s Infrastructure Bentley Map Advancing GIS for the World s Infrastructure Presentation Overview Why would you need Bentley Map? What is Bentley Map? Where is Bentley Map Used? Why would you need Bentley Map? Because your

More information

Introduction to ArcGIS Server Development

Introduction to ArcGIS Server Development Introduction to ArcGIS Server Development Kevin Deege,, Rob Burke, Kelly Hutchins, and Sathya Prasad ESRI Developer Summit 2008 1 Schedule Introduction to ArcGIS Server Rob and Kevin Questions Break 2:15

More information

GIS Software. Evolution of GIS Software

GIS Software. Evolution of GIS Software GIS Software The geoprocessing engines of GIS Major functions Collect, store, mange, query, analyze and present Key terms Program collections of instructions to manipulate data Package integrated collection

More information

Among various open-source GIS programs, QGIS can be the best suitable option which can be used across partners for reasons outlined below.

Among various open-source GIS programs, QGIS can be the best suitable option which can be used across partners for reasons outlined below. Comparison of Geographic Information Systems (GIS) software As of January 2018, WHO has reached an agreement with ESRI (an international supplier of GIS software) for an unlimited use of ArcGIS Desktop

More information

Overview. Everywhere. Over everything.

Overview. Everywhere. Over everything. Cadenza Desktop Cadenza Web Cadenza Mobile Cadenza Overview. Everywhere. Over everything. The ultimate GIS and reporting suite. Provide, analyze and report data efficiently. For desktop, web and mobile.

More information

One platform for desktop, web and mobile

One platform for desktop, web and mobile One platform for desktop, web and mobile Search and filter Get access to all data thematically filter data in context factually and spatially as well as display it dynamically. Export a selection or send

More information

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Sam Williamson

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Sam Williamson ArcGIS Enterprise: What s New Philip Heede Shannon Kalisky Melanie Summers Sam Williamson ArcGIS Enterprise is the new name for ArcGIS for Server What is ArcGIS Enterprise ArcGIS Enterprise is powerful

More information

This tutorial is intended to familiarize you with the Geomatica Toolbar and describe the basics of viewing data using Geomatica Focus.

This tutorial is intended to familiarize you with the Geomatica Toolbar and describe the basics of viewing data using Geomatica Focus. PCI GEOMATICS GEOMATICA QUICKSTART 1. Introduction This tutorial is intended to familiarize you with the Geomatica Toolbar and describe the basics of viewing data using Geomatica Focus. All data used in

More information

OECD QSAR Toolbox v.4.1. Step-by-step example for building QSAR model

OECD QSAR Toolbox v.4.1. Step-by-step example for building QSAR model OECD QSAR Toolbox v.4.1 Step-by-step example for building QSAR model Background Objectives The exercise Workflow of the exercise Outlook 2 Background This is a step-by-step presentation designed to take

More information

OECD QSAR Toolbox v.3.3. Step-by-step example of how to build a userdefined

OECD QSAR Toolbox v.3.3. Step-by-step example of how to build a userdefined OECD QSAR Toolbox v.3.3 Step-by-step example of how to build a userdefined QSAR Background Objectives The exercise Workflow of the exercise Outlook 2 Background This is a step-by-step presentation designed

More information

Portal for ArcGIS: An Introduction. Catherine Hynes and Derek Law

Portal for ArcGIS: An Introduction. Catherine Hynes and Derek Law Portal for ArcGIS: An Introduction Catherine Hynes and Derek Law Agenda Web GIS pattern Product overview Installation and deployment Configuration options Security options and groups Portal for ArcGIS

More information

GIS Functions and Integration. Tyler Pauley Associate Consultant

GIS Functions and Integration. Tyler Pauley Associate Consultant GIS Functions and Integration Tyler Pauley Associate Consultant Contents GIS in AgileAssets products Displaying data within AMS Symbolizing the map display Display on Bing Maps Demo- Displaying a map in

More information

ISIS/Draw "Quick Start"

ISIS/Draw Quick Start ISIS/Draw "Quick Start" Click to print, or click Drawing Molecules * Basic Strategy 5.1 * Drawing Structures with Template tools and template pages 5.2 * Drawing bonds and chains 5.3 * Drawing atoms 5.4

More information

Training Path FNT IT Infrastruktur Management

Training Path FNT IT Infrastruktur Management Training Path FNT IT Infrastruktur Management // TRAINING PATH: FNT IT INFRASTRUCTURE MANAGEMENT Training Path: FNT IT Infrastructure Management 2 9 // FNT COMMAND BASIC COURSE FNT Command Basic Course

More information

ON SITE SYSTEMS Chemical Safety Assistant

ON SITE SYSTEMS Chemical Safety Assistant ON SITE SYSTEMS Chemical Safety Assistant CS ASSISTANT WEB USERS MANUAL On Site Systems 23 N. Gore Ave. Suite 200 St. Louis, MO 63119 Phone 314-963-9934 Fax 314-963-9281 Table of Contents INTRODUCTION

More information

Python. Tutorial. Jan Pöschko. March 22, Graz University of Technology

Python. Tutorial. Jan Pöschko. March 22, Graz University of Technology Tutorial Graz University of Technology March 22, 2010 Why? is: very readable easy to learn interpreted & interactive like a UNIX shell, only better object-oriented but not religious about it slower than

More information

Geodatabase: Best Practices. Robert LeClair, Senior Instructor

Geodatabase: Best Practices. Robert LeClair, Senior Instructor Geodatabase: Best Practices Robert LeClair, Senior Instructor Agenda Geodatabase Creation Data Ownership Data Model Data Configuration Geodatabase Behaviors Data Validation Extending Performance Geodatabase

More information

YYT-C3002 Application Programming in Engineering GIS I. Anas Altartouri Otaniemi

YYT-C3002 Application Programming in Engineering GIS I. Anas Altartouri Otaniemi YYT-C3002 Application Programming in Engineering GIS I Otaniemi Overview: GIS lectures & exercise We will deal with GIS application development in two lectures. Because of the versatility of GIS data models

More information

Grid to LandGrid Volumetrics Workflow

Grid to LandGrid Volumetrics Workflow Grid to LandGrid Volumetrics Workflow Petra User Group Session Series Armin Schafer Technical Advisor Petra/Kingdom/GeoSyn/LogArc Encana Amphitheatre Nov 22, 2011 noon 1 pm PURPOSE: to demonstrate the

More information

SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide

SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide This page is intentionally left blank. SuperCELL Data Programmer and ACTiSys IR Programmer User s Guide The ACTiSys IR Programmer and SuperCELL

More information

Oracle Spatial: Essentials

Oracle Spatial: Essentials Oracle University Contact Us: 1.800.529.0165 Oracle Spatial: Essentials Duration: 5 Days What you will learn The course extensively covers the concepts and usage of the native data types, functions and

More information

Watershed Modeling Orange County Hydrology Using GIS Data

Watershed Modeling Orange County Hydrology Using GIS Data v. 10.0 WMS 10.0 Tutorial Watershed Modeling Orange County Hydrology Using GIS Data Learn how to delineate sub-basins and compute soil losses for Orange County (California) hydrologic modeling Objectives

More information

Performing Advanced Cartography with Esri Production Mapping

Performing Advanced Cartography with Esri Production Mapping Esri International User Conference San Diego, California Technical Workshops July 25, 2012 Performing Advanced Cartography with Esri Production Mapping Tania Pal & Madhura Phaterpekar Agenda Outline generic

More information

This paper outlines the steps we took to process the repository file into a Geodatabase Utility Data Model for Bloomfield Township s analysis.

This paper outlines the steps we took to process the repository file into a Geodatabase Utility Data Model for Bloomfield Township s analysis. Title of Paper Importing CAD Drawings into a Utility Data Model Authors Names Kevin G. Broecker & James R. Miller Abstract This presentation covers the process needed to integrate data from a CAD drawing

More information

Accountability. User Guide

Accountability. User Guide Accountability User Guide The information in this document is subject to change without notice and does not represent a commitment on the part of Horizon. The software described in this document is furnished

More information

Planning Softproviding Meat User Documentation

Planning Softproviding Meat User Documentation Great ideas are always simple Softproviding simply makes them happen. Planning Softproviding Meat User Documentation Version: 1.00 Date: 24 August 2017 Release: v5.50 Softproviding AG Riehenring 175 CH-4058

More information

Replication cluster on MariaDB 5.5 / ubuntu-server. Mark Schneider ms(at)it-infrastrukturen(dot)org

Replication cluster on MariaDB 5.5 / ubuntu-server. Mark Schneider ms(at)it-infrastrukturen(dot)org Mark Schneider ms(at)it-infrastrukturen(dot)org 2012-05-31 Abstract Setting of MASTER-SLAVE or MASTER-MASTER replications on MariaDB 5.5 database servers is neccessary for higher availability of data and

More information

Leveraging the GIS Capability within FlexiCadastre

Leveraging the GIS Capability within FlexiCadastre Managing Local Land Concerns, Maintaining Corporate Governance Leveraging the GIS Capability within FlexiCadastre Regional User Conference, North America May 6 th May 9 th, 2013 Cameron McKellar, Technical

More information

/home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111

/home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111 /home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111 27 """ 28 Tutorial for the Million Song Dataset 29 30 by Thierry Bertin - Mahieux ( 2011) Columbia University

More information

NINE CHOICE SERIAL REACTION TIME TASK

NINE CHOICE SERIAL REACTION TIME TASK instrumentation and software for research NINE CHOICE SERIAL REACTION TIME TASK MED-STATE NOTATION PROCEDURE SOF-700RA-8 USER S MANUAL DOC-025 Rev. 1.3 Copyright 2013 All Rights Reserved MED Associates

More information

Integrated Cheminformatics to Guide Drug Discovery

Integrated Cheminformatics to Guide Drug Discovery Integrated Cheminformatics to Guide Drug Discovery Matthew Segall, Ed Champness, Peter Hunt, Tamsin Mansley CINF Drug Discovery Cheminformatics Approaches August 23 rd 2017 Optibrium, StarDrop, Auto-Modeller,

More information

Extending MISP with Python modules MISP - Malware Information Sharing Platform & Threat Sharing

Extending MISP with Python modules MISP - Malware Information Sharing Platform & Threat Sharing Extending MISP with Python modules MISP - Malware Information Sharing Platform & Threat Sharing MISP Project @MISPProject TLP:WHITE MISP Training - @SWITCH - 20161206 Why we want to go more modular...

More information

Supplementary Material

Supplementary Material Supplementary Material Contents 1 Keywords of GQL 2 2 The GQL grammar 3 3 THE GQL user guide 4 3.1 The environment........................................... 4 3.2 GQL projects.............................................

More information

ArcGIS 9 ArcGIS StreetMap Tutorial

ArcGIS 9 ArcGIS StreetMap Tutorial ArcGIS 9 ArcGIS StreetMap Tutorial Copyright 2001 2008 ESRI All Rights Reserved. Printed in the United States of America. The information contained in this document is the exclusive property of ESRI. This

More information

GeomRDF : A Geodata Converter with a Fine-Grained Structured Representation of Geometry in the Web

GeomRDF : A Geodata Converter with a Fine-Grained Structured Representation of Geometry in the Web GeomRDF : A Geodata Converter with a Fine-Grained Structured Representation of Geometry in the Web Fayçal Hamdi 1 Nathalie Abadie 2 Bénédicte Bucher 2 Abdelfettah Feliachi 2 1 ISID TEAM, CEDRIC Lab Conservatoire

More information

Reaxys Pipeline Pilot Components Installation and User Guide

Reaxys Pipeline Pilot Components Installation and User Guide 1 1 Reaxys Pipeline Pilot components for Pipeline Pilot 9.5 Reaxys Pipeline Pilot Components Installation and User Guide Version 1.0 2 Introduction The Reaxys and Reaxys Medicinal Chemistry Application

More information

Working with ArcGIS: Classification

Working with ArcGIS: Classification Working with ArcGIS: Classification 2 Abbreviations D-click R-click TOC Double Click Right Click Table of Content Introduction The benefit from the use of geographic information system (GIS) software is

More information

Athena Visual Software, Inc. 1

Athena Visual Software, Inc. 1 Athena Visual Studio Visual Kinetics Tutorial VisualKinetics is an integrated tool within the Athena Visual Studio software environment, which allows scientists and engineers to simulate the dynamic behavior

More information

Python. chrysn

Python. chrysn Python chrysn 2008-09-25 Introduction Structure, Language & Syntax Strengths & Weaknesses Introduction Structure, Language & Syntax Strengths & Weaknesses Python Python is an interpreted,

More information

Outline. What is MapPlace? MapPlace Toolbar & PopUp Menu. Geology Themes 1:5M 1:1M BCGS 1:250,000. Terranes

Outline. What is MapPlace? MapPlace Toolbar & PopUp Menu. Geology Themes 1:5M 1:1M BCGS 1:250,000. Terranes Outline BRITISH COLUMBIA Overview and Explore MapPlace Website Data Delivery & Map Themes Data Sources & Updates Feature Topics New Data & Maps New MINFILE Online Exploration Assistant with Image Analysis

More information

DP Project Development Pvt. Ltd.

DP Project Development Pvt. Ltd. Dear Sir/Madam, Greetings!!! Thanks for contacting DP Project Development for your training requirement. DP Project Development is leading professional training provider in GIS technologies and GIS application

More information

Mnova Software for Analyzing Reaction Monitoring NMR Spectra

Mnova Software for Analyzing Reaction Monitoring NMR Spectra Mnova Software for Analyzing Reaction Monitoring NMR Spectra Version 10 Chen Peng, PhD, VP of Business Development, US & China Mestrelab Research SL San Diego, CA, USA chen.peng@mestrelab.com 858.736.4563

More information

Please click the link below to view the YouTube video offering guidance to purchasers:

Please click the link below to view the YouTube video offering guidance to purchasers: Guide Contents: Video Guide What is Quick Quote? Quick Quote Access Levels Your Quick Quote Control Panel How do I create a Quick Quote? How do I Distribute a Quick Quote? How do I Add Suppliers to a Quick

More information

2010 Autodesk, Inc. All rights reserved. NOT FOR DISTRIBUTION.

2010 Autodesk, Inc. All rights reserved. NOT FOR DISTRIBUTION. Wastewater Profiles 2010 Autodesk, Inc. All rights reserved. NOT FOR DISTRIBUTION. The contents of this guide were created for Autodesk Topobase 2011. The contents of this guide are not intended for other

More information

2 Managing Distributed Data

2 Managing Distributed Data 2 Managing Distributed Data DISCLAIMER STATEMENT 2015 - World Food Programme Information presented in this training document may be considered public information and may be reproduced, distributed or copied

More information

ICM-Chemist How-To Guide. Version 3.6-1g Last Updated 12/01/2009

ICM-Chemist How-To Guide. Version 3.6-1g Last Updated 12/01/2009 ICM-Chemist How-To Guide Version 3.6-1g Last Updated 12/01/2009 ICM-Chemist HOW TO IMPORT, SKETCH AND EDIT CHEMICALS How to access the ICM Molecular Editor. 1. Click here 2. Start sketching How to sketch

More information

REPORT ON INVESTMENTS

REPORT ON INVESTMENTS REPORT ON INVESTMENTS D.T2.3.3 Investments for technical equipment for the implementation of Web-GIS platform in Mantova 1 Local support group designing Mantova Web-GIS platform. Picture by Maria Giulia

More information

Octave. Tutorial. Daniel Lamprecht. March 26, Graz University of Technology. Slides based on previous work by Ingo Holzmann

Octave. Tutorial. Daniel Lamprecht. March 26, Graz University of Technology. Slides based on previous work by Ingo Holzmann Tutorial Graz University of Technology March 26, 2012 Slides based on previous work by Ingo Holzmann Introduction What is? GNU is a high-level interactive language for numerical computations mostly compatible

More information

Search for the Gulf of Carpentaria in the remap search bar:

Search for the Gulf of Carpentaria in the remap search bar: This tutorial is aimed at getting you started with making maps in Remap (). In this tutorial we are going to develop a simple classification of mangroves in northern Australia. Before getting started with

More information

Using the EartH2Observe data portal to analyse drought indicators. Lesson 4: Using Python Notebook to access and process data

Using the EartH2Observe data portal to analyse drought indicators. Lesson 4: Using Python Notebook to access and process data Using the EartH2Observe data portal to analyse drought indicators Lesson 4: Using Python Notebook to access and process data Preface In this fourth lesson you will again work with the Water Cycle Integrator

More information

Space Objects. Section. When you finish this section, you should understand the following:

Space Objects. Section. When you finish this section, you should understand the following: GOLDMC02_132283433X 8/24/06 2:21 PM Page 97 Section 2 Space Objects When you finish this section, you should understand the following: How to create a 2D Space Object and label it with a Space Tag. How

More information

Location Intelligence Infrastructure Asset Management. Confirm. Confirm Mapping Link to ArcMap Version v18.00b.am

Location Intelligence Infrastructure Asset Management. Confirm. Confirm Mapping Link to ArcMap Version v18.00b.am Location Intelligence Infrastructure Asset Management Confirm Confirm Mapping Link to ArcMap Version v18.00b.am Information in this document is subject to change without notice and does not represent a

More information

It s about time... The only timeline tool you ll ever need!

It s about time... The only timeline tool you ll ever need! It s about time... The only timeline tool you ll ever need! Introduction about me Jon Tomczak Senior Consultant Crypsis Game Dev turned Forensicator Past: Started TZWorks in 2006 Consultant at Mandiant

More information

Spatial Analysis using Vector GIS THE GOAL: PREPARATION:

Spatial Analysis using Vector GIS THE GOAL: PREPARATION: PLAN 512 GIS FOR PLANNERS Department of Urban and Environmental Planning University of Virginia Fall 2006 Prof. David L. Phillips Spatial Analysis using Vector GIS THE GOAL: This tutorial explores some

More information

ISSP User Guide CY3207ISSP. Revision C

ISSP User Guide CY3207ISSP. Revision C CY3207ISSP ISSP User Guide Revision C Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 Phone (USA): 800.858.1810 Phone (Intnl): 408.943.2600 http://www.cypress.com Copyrights Copyrights

More information

GIS Lecture 4: Data. GIS Tutorial, Third Edition GIS 1

GIS Lecture 4: Data. GIS Tutorial, Third Edition GIS 1 GIS Lecture 4: Data GIS 1 Outline Data Types, Tables, and Formats Geodatabase Tabular Joins Spatial Joins Field Calculator ArcCatalog Functions GIS 2 Data Types, Tables, Formats GIS 3 Directly Loadable

More information

Extending MISP with Python modules MISP - Malware Information Sharing Platform & Threat Sharing

Extending MISP with Python modules MISP - Malware Information Sharing Platform & Threat Sharing Extending MISP with Python modules MISP - Malware Information Sharing Platform & Threat Sharing Alexandre Dulaunoy Andras Iklody TLP:WHITE June 16, 2016 Why we want to go more modular... Ways to extend

More information

Building Inflation Tables and CER Libraries

Building Inflation Tables and CER Libraries Building Inflation Tables and CER Libraries January 2007 Presented by James K. Johnson Tecolote Research, Inc. Copyright Tecolote Research, Inc. September 2006 Abstract Building Inflation Tables and CER

More information

Appendix B Microsoft Office Specialist exam objectives maps

Appendix B Microsoft Office Specialist exam objectives maps B 1 Appendix B Microsoft Office Specialist exam objectives maps This appendix covers these additional topics: A Excel 2003 Specialist exam objectives with references to corresponding material in Course

More information

Using Python to Automate Map Exports

Using Python to Automate Map Exports Using Python to Automate Map Exports Don Katnik Maine Department of Inland Fisheries and Wildlife Northeast ARC Users' Conference, 2016 Falmouth, MA DISCLAIMER: I don't work for Python Background Maine

More information

ncounter PlexSet Data Analysis Guidelines

ncounter PlexSet Data Analysis Guidelines ncounter PlexSet Data Analysis Guidelines NanoString Technologies, Inc. 530 airview Ave North Seattle, Washington 98109 USA Telephone: 206.378.6266 888.358.6266 E-mail: info@nanostring.com Molecules That

More information

Geodatabases and ArcCatalog

Geodatabases and ArcCatalog Geodatabases and ArcCatalog Prepared by Francisco Olivera, Ph.D. and Srikanth Koka Department of Civil Engineering Texas A&M University February 2004 Contents Brief Overview of Geodatabases Goals of the

More information

PyMISP - (ab)using MISP API with PyMISP MISP - Malware Information Sharing Platform & Threat Sharing

PyMISP - (ab)using MISP API with PyMISP MISP - Malware Information Sharing Platform & Threat Sharing PyMISP - (ab)using MISP API with PyMISP MISP - Malware Information Sharing Platform & Threat Sharing Alexandre Dulaunoy Andras Iklody Raphaël Vinot TLP:WHITE http://www.misp-project.org/ Twitter: @MISPProject

More information

PP - Work Centers HELP.PPBDWKC. Release 4.6C

PP - Work Centers HELP.PPBDWKC. Release 4.6C HELP.PPBDWKC Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission

More information

/home/thierry/columbia/msongsdb/tutorials/tutorial4/tutorial4.py January 25,

/home/thierry/columbia/msongsdb/tutorials/tutorial4/tutorial4.py January 25, /home/thierry/columbia/msongsdb/tutorials/tutorial4/tutorial4.py January 25, 2011 1 26 """ 27 Thierry Bertin - Mahieux ( 2010) Columbia University 28 tb2332@ columbia. edu 29 30 This code demo the use

More information

Why GIS & Why Internet GIS?

Why GIS & Why Internet GIS? Why GIS & Why Internet GIS? The Internet bandwagon Internet mapping (e.g., MapQuest) Location-based services Real-time navigation (e.g., traffic) Real-time service dispatch Business Intelligence Spatial

More information

Free and Open Source Software for Cadastre and Land Registration : A Hidden Treasure? Gertrude Pieper Espada. Overview

Free and Open Source Software for Cadastre and Land Registration : A Hidden Treasure? Gertrude Pieper Espada. Overview Free and Open Source Software for Cadastre and Land Registration : A Hidden Treasure? Gertrude Pieper Espada Overview FLOSS concepts Digital Land Administration systems FLOSS Database alternatives FLOSS

More information

COMPOUND REGISTRATION

COMPOUND REGISTRATION CONTENTS: Register a New Compound Register a New Batch Search for a Compound Edit a Batch/Create a New Lot Create a New Salt and Isotope Upload an Analytical File Validation Errors Contact Us www.schrodinger.com

More information

CWMS Modeling for Real-Time Water Management

CWMS Modeling for Real-Time Water Management Hydrologic Engineering Center Training Course on CWMS Modeling for Real-Time Water Management August 2018 Davis, California The Corps Water Management System (CWMS) is a software and hardware system to

More information

POC via CHEMnetBASE for Identifying Unknowns

POC via CHEMnetBASE for Identifying Unknowns Table of Contents A red arrow is used to identify where buttons and functions are located in CHEMnetBASE. Figure Description Page Entering the Properties of Organic Compounds (POC) Database 1 CHEMnetBASE

More information

MySQL 5.1. Past, Present and Future. Jan Kneschke MySQL AB

MySQL 5.1. Past, Present and Future. Jan Kneschke MySQL AB MySQL 5.1 Past, Present and Future Jan Kneschke MySQL AB Agenda Past S Q L T re e s m e e ts D y n a m ic S Q L P re s e n t E v e n ts P a rtitio n in g F u tu re V e rtic a l P a rtitio n in g About

More information

Exercises for Windows

Exercises for Windows Exercises for Windows CAChe User Interface for Windows Select tool Application window Document window (workspace) Style bar Tool palette Select entire molecule Select Similar Group Select Atom tool Rotate

More information

Lecture 2. Introduction to ESRI s ArcGIS Desktop and ArcMap

Lecture 2. Introduction to ESRI s ArcGIS Desktop and ArcMap Lecture 2 Introduction to ESRI s ArcGIS Desktop and ArcMap Outline ESRI What is ArcGIS? ArcGIS Desktop ArcMap Overview Views Layers Attribute Tables Help! Scale Tips and Tricks ESRI Environmental Systems

More information

Karsten Vennemann, Seattle. QGIS Workshop CUGOS Spring Fling 2015

Karsten Vennemann, Seattle. QGIS Workshop CUGOS Spring Fling 2015 Karsten Vennemann, Seattle 2015 a very capable and flexible Desktop GIS QGIS QGIS Karsten Workshop Vennemann, Seattle slide 2 of 13 QGIS - Desktop GIS originally a GIS viewing environment QGIS for the

More information