Tryton Technical Training
|
|
- Sabrina Pope
- 5 years ago
- Views:
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 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 informationAdministering 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 informationFrom 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 informationTroubleshooting 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 informationFrom 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 informationDatabases 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 informationGeodatabase 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 informationST-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 informationGeodatabase 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 informationDeep-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 informationIntroduction 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 informationIntroduction 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 informationPortal 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 informationArcGIS 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 informationIntroduction 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 informationGeodatabase 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 informationLeveraging 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 informationOECD 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 informationGeodatabase 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 informationArboretum 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 informationAppendix 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 informationBentley 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 informationIntroduction 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 informationGIS 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 informationAmong 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 informationOverview. 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 informationOne 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 informationArcGIS 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 informationThis 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 informationOECD 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 informationOECD 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 informationPortal 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 informationGIS 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 informationISIS/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 informationTraining 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 informationON 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 informationPython. 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 informationGeodatabase: 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 informationYYT-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 informationGrid 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 informationSuperCELL 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 informationOracle 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 informationWatershed 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 informationPerforming 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 informationThis 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 informationAccountability. 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 informationPlanning 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 informationReplication 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 informationLeveraging 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 27 """ 28 Tutorial for the Million Song Dataset 29 30 by Thierry Bertin - Mahieux ( 2011) Columbia University
More informationNINE 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 informationIntegrated 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 informationExtending 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 informationSupplementary 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 informationArcGIS 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 informationGeomRDF : 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 informationReaxys 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 informationWorking 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 informationAthena 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 informationPython. chrysn
Python chrysn 2008-09-25 Introduction Structure, Language & Syntax Strengths & Weaknesses Introduction Structure, Language & Syntax Strengths & Weaknesses Python Python is an interpreted,
More informationOutline. 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 informationDP 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 informationMnova 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 informationPlease 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 information2010 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 information2 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 informationICM-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 informationREPORT 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 informationOctave. 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 informationSearch 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 informationUsing 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 informationSpace 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 informationLocation 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 informationIt 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 informationSpatial 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 informationISSP 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 informationGIS 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 informationExtending 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 informationBuilding 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 informationAppendix 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 informationUsing 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 informationncounter 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 informationGeodatabases 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 informationPyMISP - (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 informationPP - 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, 2011 1 26 """ 27 Thierry Bertin - Mahieux ( 2010) Columbia University 28 tb2332@ columbia. edu 29 30 This code demo the use
More informationWhy 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 informationFree 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 informationCOMPOUND 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 informationCWMS 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 informationPOC 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 informationMySQL 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 informationExercises 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 informationLecture 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 informationKarsten 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