Zope Product Development With CMF/Plone. Reid Linnemann Oklahoma Department of Career and Technology Education

Size: px
Start display at page:

Download "Zope Product Development With CMF/Plone. Reid Linnemann Oklahoma Department of Career and Technology Education"

Transcription

1 Zope Product Development With CMF/Plone Reid Linnemann Oklahoma Department of Career and Technology Education

2 What is Zope? What is Zope? Zope is an application server, not a web server Zpublisher is Zope's web publishing component, handling HTTP "Publishes" requested python objects that are stored in a persistent python object database called ZODB, e.g.: Folder Page Template Plone Site Image My Crazy Type I Made Today

3 What is Zope? Zope Architecture ZServer Web Server apache frontend Relational Database MySQL Products ZMySQLDA Plone SQLUserManager etc.

4 What is Zope? How does publishing work? Zope receives an request The request is forwarded to ZPublisher ZPublisher traverses to find the object in the url proto://host:port/path?query ZPublisher calls a method on the object ( call, getitem, etc.), using parsed query for arguments a response is sent back to the browser Requirements for an object/method to be published: The object/method must have a docstring The name of the object/method must not begin with an underscore "_" The object cannot be a python module

5 What is Zope? What about security? During traversal, the ZPublisher makes security checks for each object it touches, to ensure the user is authorized Arguments are converted from the query arg[:type modifier...]=value ZPublisher marshals arguments from the query, the default argument type is str Many types str,text,lines,tokens int, long, float boolean date list,tuple Some type attributes required, ignore_empty, default

6 What is Zope? Records are supported through special notation var.attr:int:record, e.g. ZPublisher amalgamates list, tuple, default and not_empty query string arguments into sensible arguments for the method call, so a series of 'countries:list=x' arguments in the query string become one list named 'countries' that is passed to the method. Publishing is transactional When Zope gets a request, it starts a transaction If an unhandled exception is raised, the transaction is aborted all changes in progress to the ZODB for that request are aborted in ZMySQLDB, transactions are honored for database engines that support them; InnoDB does this but not MyISAM

7 What is Zope? XMLRPC All Zope published objects support XMLRPC You can use xmlrpclib to utilize Zope objects, e.g.: app = xmlrpclib.server(' app.getfoo() Messages can only consist of base python types, so getfoo() can return and int or a float, but not a ZSQLMethod CMF CMF is the Content Management Framework Set of services and content objects for building content-oriented dynamic portals Membership, Workflow, Content, Discussion, Syndication, etc.

8 Zope Products Products are python packages that extend the capabilities of Zope Define new object classes, DTML tags, etc. that can be used in Zope A class can define a more complex object that can't be feasibly represented as a collection of scripts, templates, and SQL methods for example, 'Student' Classes can be instantiated in Zope to create objects that abstract and encapsulate their complex attributes and behaviors

9 Zope Products What does a Product look like? A Product is a folder that contains: init.py contains an initialize() function that accepts one parameter, context uses Zope framework to add functionality to Zope, e.g. context.registerclass() to make an object class available in Zope's Add dropdown README.txt (optional) version.txt help directory (optional) python sources to define classes, libraries supporting media (images, template sources, sql queries)

10 Zope Products Classes Zope object classes usually derive from one or more OFS base classes OFS.SimpleItem OFS.ObjectManager OFS.PropertyManager Can also derive from more complex classes CMFCore.PortalFolder CMFCalendar.Event

11 Zope Products Class Contents init () method The class constructor A factory method, e.g. manage_addmyclass Responsible for creating an instance of the class of a requested id, and adding it to the given context manage_options a structure to define ZMI tabs for an instance of the class when viewed in the ZMI tuple of dictionaries, keyed on: label label on the management tab action url called when the tab is selected target (optional) frame to display the action in help (optional) help information, details are in the developer's guide

12 Zope Products A security object for issuing Zope security declarations This is stripped from the class when Zope initializes it during an InitializeClass() call when the product is refreshed or Zope is started The InitializeClass() call should be the last statement in your class definition file, in global scope, e.g. from OFS.SimpleItem import SimpleItem class myclass(simpleitem):... InitializeClass(myClass)

13 Zope Five Five is Zope 3 functionality in Zope = 5, get it? Those Zope Labs guys are so clever.. Use Five in favor of deprecated Zope 2 API wherever possible manage_afteradd, manage_beforedelete, etc. should be replaced with Event subscribers Zope 2 interfaces from the Interface package should be avoided in favor of Zope 3 interfaces in zope.interface

14 Plone Plone We use it for its mature framework Built on CMF, which is in turn built on Zope skins globally acquirable objects that are customizable by site administrators content-types that can be added by members tool singletons action providers form controllers catalogs membership etc.

15 Plone TTW Application Development Several drawbacks disorganized unmanageable with VCS, not portable between instances high overhead in execution due to amount of context traversals low security, low authorization awareness restricted code forces dependence on external methods can't automate tests basically, just not a suitable for our needs

16 Plone How we should write software for Plone: Filesystem Products Not much, if any, of our applications should be content objects in Plone. We don't use the ZODB for storage of application data! e.g. TIP Agreements are not content objects in the ZODB. We make web requests to edit an agreement - not identified by a path in the ZODB, but by a query string on a broker object. The only objects that really need to be in the ZODB are skins for customized Plone look and feel (with FSDirectoryViews) skins for UI portlets, graphics, etc (FSDirectoryViews) tool singletons to act as object brokers for RDB data, provide well-defined actions for web interfaces user/groups source relational database hook(s)

17 Plone Advantages We get to use the Zope security framework for authorization Much fewer context calls and publisher traversals, usually only on the point of entry from the web interface business logic is 100% python with library level access no longer limited by restricted python code code is organized, maintainable methods and members that should not be seen directly TTW can be hidden from the publisher Can still utilize complex Zope types in product code A Zope object is still a python object Create a Zope object (ZSQLMethod, PageTemplate, etc.) in your class, and assign it to a member!

18 Plone Tool Classes Inherit from CMFCore.utils.UniqueObject Predetermined id for an instanced object Cannot change instanced object's id id cannot be used lower in the acquisition chain, so object cannot be overridden Inherit from CMFCore.ActionProviderBase. ActionProviderBase The tool will have several methods declared that make up the API, and methods or obejcts to provide the web interface ActionProvider Actions describe web interface actions

19 Plone descriptive name url of the form/entry point required permission to see the action organizational category visibility flag (lets the action by globally enabled/disabled) Why do we want ActionProvider Actions? Zope lets you define an actions structure already, but that is only useful for the ZMI. Members don't necessarily have access to the ZMI, and Plone doesn't use it anyway You may think, "why bother? I can just put the url in a page template!" Not dynamic, unless you write a lot of extra tal logic (bad) Making changes to an action url that occurs in several page templates requires far more care and work

20 Plone Actions in an ActionProviders can be queried through a CMF/Plone ActionsTool object (portal_actions) By querying, we can write generic code that is suitable for all actions Changes to action definitions are reflected in the generic code without altering it We can also register action icons for our actions with the ActionIcons tool (portal_actionicons). Again, this lets a generic snippet of code function for an entire range of available actions Action Essentials ActionProviderBase.addAction() adds an action to the provider's action list call this in your class's init () method to set up default actions for your tools

21 Plone Can be called at runtime to add more actions It's a dual-purposed ZMI method! pass no request to it if not using it interactively with a user ActionProverderBase.getActionInfo() action_chain parameter is a sequence of strings with form 'category/id' ActionsTool.listFilteredActions() hands back a dictionary keyed on category ids, values are lists of action infos actions are ordered in the providers! Tool classes are not registered in init.py as are other classes use CMFCore.utils.ToolInit CMFCore.utils.ToolInit(...).initialize(context)

22 Plone QuickInstaller CMF facility for activating/deactivating products inside a CMF Site Commonly referred to as 'installing' and 'deinstalling', which adds confusion What does that mean? skins CMF content-types Register portal actions Object instances in the portal root (tools, e.g.) Requirements Subpackage 'Extensions' Install.py module in 'Extensions' with functions install(self) and uninstall(self) (external methods)

23 Unit Tests Unit Tests Zope has a unit test framework built on PyUnit Based on JUnit To use it, your Product should have a subpackage named 'tests' tests subpackage contains any number of modules each module defines test case classes that derive from unittest.testcase following class definitions, the modules should define a function test_suite() that returns a test suite, e.g. from unittest.makesuite()

24 Unit Tests You can run tests on your product with zopectl, e.g. zopectl test -s CMFCore there are many options to zopectl test, use the help flag to learn more How do I write unit tests? Identify a feature that should be tested use case/specification bug fix interface contract Determine a simple routine to demonstrate the feature e.g. create an instance of an object and call a method on it use assert() to verify the result, e.g. assert(o.getfoo == 'foo') failed assertions will indicate the test failed

25 Unit Tests Why bother? Well written unit tests verify that the software adheres to the specifications Unit tests for bug fixes verify that later changes do not create regressions

26 References Zope Plone Testing and debuging

Top 20 Plone Pitfalls

Top 20 Plone Pitfalls Top 20 Plone Pitfalls And Then Some www.plonesolutions.com Stefan H. Holek stefan@plonesolutions.com All disclaimers apply. I am not going to argue over any of these, don t try. 1 Do not put off learning

More information

Introduction to Python for Plone developers

Introduction to Python for Plone developers Plone Conference, October 15, 2003 Introduction to Python for Plone developers Jim Roepcke Tyrell Software Corporation What we will learn Python language basics Where you can use Python in Plone Examples

More information

The Web Information system for the Italian National Institute for Astrophysics: the experience by using the Zope/Plone framework

The Web Information system for the Italian National Institute for Astrophysics: the experience by using the Zope/Plone framework The Web Information system for the Italian National Institute for Astrophysics: the experience by using the Zope/Plone framework Serena Pastore, Caterina Boccato INAF-Astronomical Observatory of Padova

More information

The Zope Book (2.6 Edition) Amos Latteier, Michel Pelletier, Chris McDonough, Peter Sabaini

The Zope Book (2.6 Edition) Amos Latteier, Michel Pelletier, Chris McDonough, Peter Sabaini Amos Latteier, Michel Pelletier, Chris McDonough, Peter Sabaini Preface 32 How the Book Is Organized 32 Conventions Used in This Book 34 Contributors to This Book 35 Introducing Zope 36 What Is A Web Application?

More information

Zope and RDBMS. A beginner's guide to working with relational databases from Zope. EuroPython Conference 2007 Vilnius, Lithuania.

Zope and RDBMS. A beginner's guide to working with relational databases from Zope. EuroPython Conference 2007 Vilnius, Lithuania. A beginner's guide to working with relational databases from Zope EuroPython Conference 2007 Vilnius, Lithuania Charlie Clark EGENIX.COM Software GmbH Germany Speaker Introduction: Charlie Clark Sales

More information

Stepic Plugins Documentation

Stepic Plugins Documentation Stepic Plugins Documentation Release 0 Stepic Team May 06, 2015 Contents 1 Introduction 3 1.1 Quiz Architecture............................................ 3 1.2 Backend Overview............................................

More information

Chapter 11 Object and Object- Relational Databases

Chapter 11 Object and Object- Relational Databases Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational

More information

Virto SharePoint Forms Designer for Office 365. Installation and User Guide

Virto SharePoint Forms Designer for Office 365. Installation and User Guide Virto SharePoint Forms Designer for Office 365 Installation and User Guide 2 Table of Contents KEY FEATURES... 3 SYSTEM REQUIREMENTS... 3 INSTALLING VIRTO SHAREPOINT FORMS FOR OFFICE 365...3 LICENSE ACTIVATION...4

More information

Adding Pages to an Office SharePoint Server 2007 Search Center Site Ben Curry and Bill English March 23, 2009

Adding Pages to an Office SharePoint Server 2007 Search Center Site Ben Curry and Bill English March 23, 2009 Adding Pages to an Office SharePoint Server 2007 Search Center Site Ben Curry and Bill English March 23, 2009 Copyright 2009, English, Bleeker & Associates, Inc., DBA Mindsharp (www.mindsharp.com). This

More information

About Python. Python Duration. Training Objectives. Training Pre - Requisites & Who Should Learn Python

About Python. Python Duration. Training Objectives. Training Pre - Requisites & Who Should Learn Python About Python Python course is a great introduction to both fundamental programming concepts and the Python programming language. By the end, you'll be familiar with Python syntax and you'll be able to

More information

Programming for Data Science Syllabus

Programming for Data Science Syllabus Programming for Data Science Syllabus Learn to use Python and SQL to solve problems with data Before You Start Prerequisites: There are no prerequisites for this program, aside from basic computer skills.

More information

Using Grok to Walk Like a Duck

Using Grok to Walk Like a Duck Using Grok to Walk Like a Duck Brandon Craig Rhodes Georgia Tech for PyCon 2008 in the Windy City Many programming languages use static typing float half(int n) { return n / 2.0; } float half(int n) {

More information

Webgurukul Programming Language Course

Webgurukul Programming Language Course Webgurukul Programming Language Course Take One step towards IT profession with us Python Syllabus Python Training Overview > What are the Python Course Pre-requisites > Objectives of the Course > Who

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual

More information

Introduction to Python Part 2

Introduction to Python Part 2 Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules

More information

Python INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython.

Python INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython. INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython * bpython Getting started with. Setting up the IDE and various IDEs. Setting up

More information

collective.jsonify Release 1.1.dev0

collective.jsonify Release 1.1.dev0 collective.jsonify Release 1.1.dev0 May 15, 2015 Contents 1 How to install it 3 2 How to use it 5 3 Using the exporter 7 4 How to extend it 9 5 Code 11 6 Changelog 13 6.1 1.1 (unreleased).............................................

More information

PTN-202: Advanced Python Programming Course Description. Course Outline

PTN-202: Advanced Python Programming Course Description. Course Outline PTN-202: Advanced Python Programming Course Description This 4-day course picks up where Python I leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development.

More information

Managing REST API. The REST API. This chapter contains the following sections:

Managing REST API. The REST API. This chapter contains the following sections: This chapter contains the following sections: The REST API, page 1 Identifying Entities, page 2 Configuring a POJO Class for REST API Support, page 2 Input Controllers, page 2 Implementing a Workflow Task,

More information

Programming in Python 3

Programming in Python 3 Programming in Python 3 A Complete Introduction to the Python Language Mark Summerfield.4.Addison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich

More information

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET VB.NET Module 1: Getting Started This module introduces Visual Basic.NET and explains how it fits into the.net platform. It explains how to use the programming tools in Microsoft Visual Studio.NET and

More information

WP710 Language: English Additional languages: None specified Product: WebSphere Portal Release: 6.0

WP710 Language: English Additional languages: None specified Product: WebSphere Portal Release: 6.0 General information (in English): Code: WP710 Language: English Additional languages: Brand: Lotus Additional brands: None specified Product: WebSphere Portal Release: 6.0 WW region: WorldWide Target audience:

More information

Lecturer: William W.Y. Hsu. Programming Languages

Lecturer: William W.Y. Hsu. Programming Languages Lecturer: William W.Y. Hsu Programming Languages Chapter 9 Data Abstraction and Object Orientation 3 Object-Oriented Programming Control or PROCESS abstraction is a very old idea (subroutines!), though

More information

Authentication via Active Directory and LDAP

Authentication via Active Directory and LDAP Authentication via Active Directory and LDAP Overview The LDAP and Active Directory authenticators available in Datameer provide remote authentication services for Datameer users. Administrators can configure

More information

CERTIFICATE IN WEB PROGRAMMING

CERTIFICATE IN WEB PROGRAMMING COURSE DURATION: 6 MONTHS CONTENTS : CERTIFICATE IN WEB PROGRAMMING 1. PROGRAMMING IN C and C++ Language 2. HTML/CSS and JavaScript 3. PHP and MySQL 4. Project on Development of Web Application 1. PROGRAMMING

More information

Objects and Classes. Amirishetty Anjan Kumar. November 27, Computer Science and Engineering Indian Institue of Technology Bombay

Objects and Classes. Amirishetty Anjan Kumar. November 27, Computer Science and Engineering Indian Institue of Technology Bombay Computer Science and Engineering Indian Institue of Technology Bombay November 27, 2004 What is Object Oriented Programming? Identifying objects and assigning responsibilities to these objects. Objects

More information

Virto SharePoint Forms Designer for Office 365. Installation and User Guide

Virto SharePoint Forms Designer for Office 365. Installation and User Guide Virto SharePoint Forms Designer for Office 365 Installation and User Guide 2 Table of Contents KEY FEATURES... 3 SYSTEM REQUIREMENTS... 3 INSTALLING VIRTO SHAREPOINT FORMS FOR OFFICE 365... 3 LICENSE ACTIVATION...

More information

PREPARING FOR PRELIM 2

PREPARING FOR PRELIM 2 PREPARING FOR PRELIM 2 CS 1110: FALL 2012 This handout explains what you have to know for the second prelim. There will be a review session with detailed examples to help you study. To prepare for the

More information

The Zope Developer's Guide (2.4 Edition) Chris McDonough, Michel Pelletier, Shane Hathaway

The Zope Developer's Guide (2.4 Edition) Chris McDonough, Michel Pelletier, Shane Hathaway The Zope Developer's Guide (2.4 Edition) Chris McDonough, Michel Pelletier, Shane Hathaway Introduction 7 Chapter 1: Components and Interfaces 8 Zope Components 8 Python Interfaces 10 Why Use Interfaces?

More information

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course Module 1: Getting Started This module introduces Visual Basic.NET and explains how it fits into the.net platform. It explains how to use the programming tools in Microsoft Visual Studio.NET and provides

More information

Python Training. Complete Practical & Real-time Trainings. A Unit of SequelGate Innovative Technologies Pvt. Ltd.

Python Training. Complete Practical & Real-time Trainings. A Unit of SequelGate Innovative Technologies Pvt. Ltd. Python Training Complete Practical & Real-time Trainings A Unit of. ISO Certified Training Institute Microsoft Certified Partner Training Highlights : Complete Practical and Real-time Scenarios Session

More information

Lecture #12: Quick: Exceptions and SQL

Lecture #12: Quick: Exceptions and SQL UC Berkeley EECS Adj. Assistant Prof. Dr. Gerald Friedland Computational Structures in Data Science Lecture #12: Quick: Exceptions and SQL Administrivia Open Project: Starts Monday! Creative data task

More information

TU Dresden: A Large-Scale Plone Deployment Case Study

TU Dresden: A Large-Scale Plone Deployment Case Study Media Center TU Dresden: A Large-Scale Plone Deployment Case Study Dresden, 10/20/17 Motivation There is no real new stuf here Provide feedback to the wider Plone community 2/38 Starting Point 3/38 Starting

More information

Hands-On Perl Scripting and CGI Programming

Hands-On Perl Scripting and CGI Programming Hands-On Course Description This hands on Perl programming course provides a thorough introduction to the Perl programming language, teaching attendees how to develop and maintain portable scripts useful

More information

FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE VERSION 9. Setup Guide. This guide explains how to install and configure the Fusion Registry.

FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE VERSION 9. Setup Guide. This guide explains how to install and configure the Fusion Registry. FUSION REGISTRY COMMUNITY EDITION VERSION 9 Setup Guide This guide explains how to install and configure the Fusion Registry. FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE Fusion Registry: 9.2.x Document

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

DOT NET Syllabus (6 Months)

DOT NET Syllabus (6 Months) DOT NET Syllabus (6 Months) THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In- Time Compilation and CLS Disassembling.Net Application to IL

More information

Creating An Online Survey Using Zope & QSurvey: Introduction. A Step by Step Introduction Download this Document as PDF. Zope

Creating An Online Survey Using Zope & QSurvey: Introduction. A Step by Step Introduction Download this Document as PDF. Zope 1 of 31 4/20/2006 2:49 PM Creating An Online Survey Using Zope & QSurvey: A Step by Step Introduction Download this Document as PDF Main URL for the Zope Management Interface: https://web2survey.unt.edu/users/euid/manage

More information

Exceptions & a Taste of Declarative Programming in SQL

Exceptions & a Taste of Declarative Programming in SQL Exceptions & a Taste of Declarative Programming in SQL David E. Culler CS8 Computational Structures in Data Science http://inst.eecs.berkeley.edu/~cs88 Lecture 12 April 18, 2016 Computational Concepts

More information

Cross-Platform Parallels: Understanding SharePoint (Online) Through Notes-colored glasses

Cross-Platform Parallels: Understanding SharePoint (Online) Through Notes-colored glasses Cross-Platform Parallels: Understanding SharePoint (Online) Through Notes-colored glasses Presented by Ben Menesi Speaker Head of Product at Ytria IBM Notes Domino Admin & Dev. for the past 10 years Actually

More information

CSE : Python Programming

CSE : Python Programming CSE 399-004: Python Programming Lecture 2: Data, Classes, and Modules January 22, 2007 http://www.seas.upenn.edu/~cse39904/ Administrative things Teaching assistant Brian Summa (bsumma @ seas.upenn.edu)

More information

Optimizes the navigation and lets visitors search by categories, price ranges, color, and other product attributes.

Optimizes the navigation and lets visitors search by categories, price ranges, color, and other product attributes. Documentation / Documentation Home Layered Navigation Created by Unknown User (bondarev), last modified by Malynow, Alexey on Feb 22, 2016 Installation Set up cron Configuration Basic Configuration Filters

More information

SOFTWARE DEVELOPMENT SERVICES WEB APPLICATION PORTAL (WAP) TRAINING. Intuit 2007

SOFTWARE DEVELOPMENT SERVICES WEB APPLICATION PORTAL (WAP) TRAINING. Intuit 2007 SOFTWARE DEVELOPMENT SERVICES WEB APPLICATION PORTAL (WAP) TRAINING Intuit 2007 I ve included this training in my portfolio because it was very technical and I worked with a SME to develop it. It demonstrates

More information

PYTHON CONTENT NOTE: Almost every task is explained with an example

PYTHON CONTENT NOTE: Almost every task is explained with an example PYTHON CONTENT NOTE: Almost every task is explained with an example Introduction: 1. What is a script and program? 2. Difference between scripting and programming languages? 3. What is Python? 4. Characteristics

More information

Magento 2 Certified Professional Developer. Exam Study Guide

Magento 2 Certified Professional Developer. Exam Study Guide Magento 2 Certified Professional Developer Exam Study Guide U Contents Contents Introduction... 1 Topics and Objectives... 3 1 Magento Architecture and Customization Techniques... 3 1.1 Describe Magento

More information

TIBCO Spotfire Server Release Notes. Software Release April 2014

TIBCO Spotfire Server Release Notes. Software Release April 2014 TIBCO Spotfire Server Release Notes Software Release 6.5.0 April 2014 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS

More information

PREPARING FOR THE FINAL EXAM

PREPARING FOR THE FINAL EXAM PREPARING FOR THE FINAL EXAM CS 1110: FALL 2017 This handout explains what you have to know for the final exam. Most of the exam will include topics from the previous two prelims. We have uploaded the

More information

CSE 70 Final Exam Fall 2009

CSE 70 Final Exam Fall 2009 Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15

More information

1 of 5 3/28/2010 8:01 AM Unit Testing Notes Home Class Info Links Lectures Newsgroup Assignmen [Jump to Writing Clear Tests, What about Private Functions?] Testing The typical approach to testing code

More information

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. Introduction Overview Advancements in technology are

More information

SelectSurvey.NET Developers Manual

SelectSurvey.NET Developers Manual Developers Manual (Last updated: 5/6/2016) SelectSurvey.NET Developers Manual Table of Contents: SelectSurvey.NET Developers Manual... 1 Overview... 2 Before Starting - Is your software up to date?...

More information

Lab 1 - Introduction to Angular

Lab 1 - Introduction to Angular Lab 1 - Introduction to Angular In this lab we will build a Hello World style Angular component. The key focus is to learn how to install all the required code and use them from the browser. We wont get

More information

gocept.selenium Release 3.0

gocept.selenium Release 3.0 gocept.selenium Release 3.0 Feb 12, 2018 Contents 1 Environment variables 3 2 Jenkins integration 5 3 Tips & Tricks 7 3.1 Using a custom Firefox profile...................................... 7 3.2 Using

More information

Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration

Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration 2012 IBM Corporation Ideas behind this session Broaden the discussion when considering

More information

CSE : Python Programming

CSE : Python Programming CSE 399-004: Python Programming Lecture 08: Graphical User Interfaces with wxpython March 12, 2005 http://www.seas.upenn.edu/~cse39904/ Plan for today and next time Today: wxpython (part 1) Aside: Arguments

More information

Chapter 9 :: Data Abstraction and Object Orientation

Chapter 9 :: Data Abstraction and Object Orientation Chapter 9 :: Data Abstraction and Object Orientation Programming Language Pragmatics Michael L. Scott Control or PROCESS abstraction is a very old idea (subroutines!), though few languages provide it in

More information

Programming in Visual Basic with Microsoft Visual Studio 2010

Programming in Visual Basic with Microsoft Visual Studio 2010 Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Joomla

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Joomla About the Tutorial Joomla is an open source Content Management System (CMS), which is used to build websites and online applications. It is free and extendable which is separated into frontend templates

More information

EXAM - ADM-211. Administration Essentials for Experienced Admin. Buy Full Product.

EXAM - ADM-211. Administration Essentials for Experienced Admin. Buy Full Product. Salesforce EXAM - ADM-211 Administration Essentials for Experienced Admin Buy Full Product http://www.examskey.com/adm-211.html Examskey Salesforce ADM-211 exam demo product is here for you to test the

More information

Browser-based Access and Management

Browser-based Access and Management Browser-based Access and Management Old Content - see latest equivalent Modified by on 13-Sep-2017 In addition to connecting to an Altium Vault through Altium Designer, and interfacing to it through the

More information

Release 28 - Alpha Tracker Release Notes

Release 28 - Alpha Tracker Release Notes Release 28 - Alpha Tracker Release Notes New Features / Changes (from SVN2841 to SVN3056) 1. With the introduction of GDPR, there are some important new features now available in Alpha Tracker. There is

More information

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/...

PROCE55 Mobile: Web API App. Web API. https://www.rijksmuseum.nl/api/... PROCE55 Mobile: Web API App PROCE55 Mobile with Test Web API App Web API App Example This example shows how to access a typical Web API using your mobile phone via Internet. The returned data is in JSON

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics

More information

Announcements for this Lecture

Announcements for this Lecture Lecture 6 Objects Announcements for this Lecture Last Call Quiz: About the Course Take it by tomorrow Also remember survey Assignment 1 Assignment 1 is live Posted on web page Due Thur, Sep. 18 th Due

More information

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you

More information

PYTHON TRAINING COURSE CONTENT

PYTHON TRAINING COURSE CONTENT SECTION 1: INTRODUCTION What s python? Why do people use python? Some quotable quotes A python history lesson Advocacy news What s python good for? What s python not good for? The compulsory features list

More information

Course 55197A: Microsoft SharePoint Server 2016 for the Site Owner/Power User

Course 55197A: Microsoft SharePoint Server 2016 for the Site Owner/Power User Skip to main content Course 55197A: Microsoft SharePoint Server 2016 for the Site Owner/Power User - Course details Course Outline Module 1: The Role of the Site Owner This module provides an introduction

More information

SharePoint 2013 Developer

SharePoint 2013 Developer SharePoint 2013 Developer Duration: 5 Days Overview Thorough education is key to working with SharePoint 2013 productively. This course guides you through essential 2013 elements, from pre-requisites to

More information

Course Outline - COMP150. Lectures and Labs

Course Outline - COMP150. Lectures and Labs Course Outline - COMP150 Lectures and Labs 1 The way of the program 1.1 The Python programming language 1.2 What is a program? 1.3 What is debugging? 1.4 Experimental debugging 1.5 Formal and natural languages

More information

AppDev StudioTM 3.2 SAS. Migration Guide

AppDev StudioTM 3.2 SAS. Migration Guide SAS Migration Guide AppDev StudioTM 3.2 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS AppDev TM Studio 3.2: Migration Guide. Cary, NC: SAS Institute Inc.

More information

ENGR 102 Engineering Lab I - Computation

ENGR 102 Engineering Lab I - Computation ENGR 102 Engineering Lab I - Computation Learning Objectives by Week 1 ENGR 102 Engineering Lab I Computation 2 Credits 2. Introduction to the design and development of computer applications for engineers;

More information

Connexion Documentation

Connexion Documentation Connexion Documentation Release 0.5 Zalando SE Nov 16, 2017 Contents 1 Quickstart 3 1.1 Prerequisites............................................... 3 1.2 Installing It................................................

More information

Selenium Testing Course Content

Selenium Testing Course Content Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference

More information

/* Copyright 2012 Robert C. Ilardi

/* Copyright 2012 Robert C. Ilardi / Copyright 2012 Robert C. Ilardi Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

Chapter 10 :: Data Abstraction and Object Orientation

Chapter 10 :: Data Abstraction and Object Orientation Chapter 10 :: Data Abstraction and Object Orientation Programming Language Pragmatics, Fourth Edition Michael L. Scott Copyright 2016 Elsevier Chapter10_Data_Abstraction_and_Object_Orientation_4e 1 Object-Oriented

More information

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department 0901212 Python Programming 1 st Semester 2014/2015 Course Catalog This course introduces

More information

Data Structures (list, dictionary, tuples, sets, strings)

Data Structures (list, dictionary, tuples, sets, strings) Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in brackets: l = [1, 2, "a"] (access by index, is mutable sequence) Tuples are enclosed in parentheses: t = (1, 2, "a") (access

More information

GIS 4653/5653: Spatial Programming and GIS. More Python: Statements, Types, Functions, Modules, Classes

GIS 4653/5653: Spatial Programming and GIS. More Python: Statements, Types, Functions, Modules, Classes GIS 4653/5653: Spatial Programming and GIS More Python: Statements, Types, Functions, Modules, Classes Statement Syntax The if-elif-else statement Indentation and and colons are important Parentheses and

More information

User Defined Types. Babes-Bolyai University Lecture 06. Lect Phd. Arthur Molnar. User defined types. Python scope and namespace

User Defined Types. Babes-Bolyai University Lecture 06. Lect Phd. Arthur Molnar. User defined types. Python scope and namespace ? User Defined Types Babes-Bolyai University arthur@cs.ubbcluj.ro Overview? 1? 2 3 ? NB! Types classify values. A type denotes a domain (a set of values) operations on those values. ? Object oriented programming

More information

CIT 590 Homework 5 HTML Resumes

CIT 590 Homework 5 HTML Resumes CIT 590 Homework 5 HTML Resumes Purposes of this assignment Reading from and writing to files Scraping information from a text file Basic HTML usage General problem specification A website is made up of

More information

A Guide to CMS Functions

A Guide to CMS Functions 2017-02-13 Orckestra, Europe Nygårdsvej 16 DK-2100 Copenhagen Phone +45 3915 7600 www.orckestra.com Contents 1 INTRODUCTION... 3 1.1 Who Should Read This Guide 3 1.2 What You Will Learn 3 2 WHAT IS A CMS

More information

PASSPORTAL PLUGIN DOCUMENTATION

PASSPORTAL PLUGIN DOCUMENTATION Contents Requirements... 2 Install or Update Passportal Plugin Solution Center... 3 Configuring Passportal Plugin... 5 Client mapping... 6 User Class Configuration... 7 About the Screens... 8 Passportal

More information

MS Addons Smart Open. User Guide Smart Open

MS Addons Smart Open. User Guide Smart Open User Guide Smart Open 1 Overview Smart Open feature enables the user to search a project in the project server. Besides, it contains all the regular capabilities offered by the default open dialog box.

More information

Lotus IT Hub. Module-1: Python Foundation (Mandatory)

Lotus IT Hub. Module-1: Python Foundation (Mandatory) Module-1: Python Foundation (Mandatory) What is Python and history of Python? Why Python and where to use it? Discussion about Python 2 and Python 3 Set up Python environment for development Demonstration

More information

Intermediate Python 3.x

Intermediate Python 3.x Intermediate Python 3.x This 4 day course picks up where Introduction to Python 3 leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development. This

More information

Perceptive Interact for Salesforce Enterprise

Perceptive Interact for Salesforce Enterprise Perceptive Interact for Salesforce Enterprise Installation and Setup Guide Version: 3.x.x Written by: Product Knowledge, R&D Date: April 2018 Copyright 2015-2018 Hyland Software, Inc. and its affiliates.

More information

HP Database and Middleware Automation

HP Database and Middleware Automation HP Database and Middleware Automation For Windows Software Version: 10.10 SQL Server Database Refresh User Guide Document Release Date: June 2013 Software Release Date: June 2013 Legal Notices Warranty

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

ReportPlus Embedded Web SDK Guide

ReportPlus Embedded Web SDK Guide ReportPlus Embedded Web SDK Guide ReportPlus Web Embedding Guide 1.4 Disclaimer THE INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED AS IS WITHOUT ANY EXPRESS REPRESENTATIONS OF WARRANTIES. IN ADDITION,

More information

Getting started with Tabris.js Tutorial Ebook

Getting started with Tabris.js Tutorial Ebook Getting started with Tabris.js 2.3.0 Tutorial Ebook Table of contents Introduction...3 1 Get started...4 2 Tabris.js in action...5 2.1 Try the examples...5 2.2 Play with the examples...7 2.3 Write your

More information

Oracle Service Cloud Integration for Developers Ed 1

Oracle Service Cloud Integration for Developers Ed 1 Oracle University Contact Us: Local: 0845 777 7 711 Intl: +44 845 777 7 711 Oracle Service Cloud Integration for Developers Ed 1 Duration: 5 Days What you will learn The class covers how to extend the

More information

VMware AirWatch Integration with Apple School Manager Integrate with Apple's School Manager to automatically enroll devices and manage classes

VMware AirWatch Integration with Apple School Manager Integrate with Apple's School Manager to automatically enroll devices and manage classes VMware AirWatch Integration with Apple School Manager Integrate with Apple's School Manager to automatically enroll devices and manage classes Workspace ONE UEM v9.6 Have documentation feedback? Submit

More information

D2K Support for Standard Content Repositories: Design Notes. Request For Comments

D2K Support for Standard Content Repositories: Design Notes. Request For Comments D2K Support for Standard Content Repositories: Design Notes Request For Comments Abstract This note discusses software developments to integrate D2K [1] with Tupelo [6] and other similar repositories.

More information

Portal Express 6 Overview

Portal Express 6 Overview Portal Express 6 Overview WebSphere Portal Express v6.0 1 Main differences between Portal Express and Portal 6.0 Built with the same components as Portal 6.0.0.1 BPC is the only missing piece Supports

More information

One Identity Active Roles 7.2. Azure AD and Office 365 Management Administrator Guide

One Identity Active Roles 7.2. Azure AD and Office 365 Management Administrator Guide One Identity Active Roles 7.2 Azure AD and Office 365 Management Administrator Copyright 2017 One Identity LLC. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright.

More information

Unified Task List Developer Pack

Unified Task List Developer Pack Unified Task List Developer Pack About the Developer Pack The developer pack is provided to allow customization of the UTL set of portlets and deliver an easy mechanism of developing task processing portlets

More information

Enhydra Shark. What is Enhydra Shark? Table of Contents

Enhydra Shark. What is Enhydra Shark? Table of Contents Table of Contents What is Enhydra Shark?... 1 StartingShark...2 ConfiguringShark...2 Setting "enginename" parameter...3 Setting kernel behaviour in the case of unsatisfied split conditions... 4 Setting

More information

Marthon User Guide. Page 1 Copyright The Marathon developers. All rights reserved.

Marthon User Guide. Page 1 Copyright The Marathon developers. All rights reserved. 1. Overview Marathon is a general purpose tool for both running and authoring acceptance tests geared at the applications developed using Java and Swing. Included with marathon is a rich suite of components

More information

For detailed technical instructions refer to the documentation provided inside the SDK and updated samples.

For detailed technical instructions refer to the documentation provided inside the SDK and updated samples. The vsphere HTML Client SDK Fling provides libraries, sample plug-ins, documentation and various SDK tools to help you develop and build user interface extensions which are compatible with both vsphere

More information