part i – identification sheet - joinup.eu · 0.7 23/04/2008 completion of installation guide. ......
TRANSCRIPT
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 1 of 98
PART I – IDENTIFICATION SHEET
Project ref. no. 045153
Project acronym ELLECTRA-WeB
Project full title European Electronic Public Procurement Application Framework in the Western Balkan Region
Security (distribution level) Public
Contractual date of delivery 31/03/2008
Actual date of delivery 05/05/2008
Deliverable number D10.1
Deliverable name Electronic Public Procurement Application Framework (1st
release)
Type Prototype
Status & version version 0.9
Number of pages 98
WP contributing to the Deliverable 3
WP / Task responsible 3 / T3.3
Editor Christos Georgousopoulos
Author(s) Christos Georgousopoulos, Brian Elvesæter, Gøran K. Olsen
EC Project Officer Aniyan Varghese
Keywords Application Framework, Specifications, Software Engineering, MDE, MDD, SOA
Abstract (for dissemination) This documentation contains the overall description of the electronic Public Procurement Application Framework (ePP AF) prototype.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 2 of 98
VERSIONING AND CONTRIBUTION HISTORY
Version Date Description Contributors
0.1 18/03/08 Initial structure and content. Christos Georgousopoulos (INTRASOFT)
0.2 25/03/08 Added content in chapter 2 describing ePP AF specs updates in relation to D3 & hierarchical structure of ePP AF.
Christos Georgousopoulos (INTRASOFT)
0.3 02/04/2008 Description of the development methodology followed via the ePP AF.
Christos Georgousopoulos (INTRASOFT)
0.4 02/04/2008 Rewritten executive summary and introduction chapter to better align with other deliverables. Minor formatting. Aligned list of acronyms with other WP3 deliverables.
Moved and aligned sections between deliverable D10.1 and D11 in order to avoid overlap.
Brian Elvesæter (SINTEF)
Gøran K. Olsen (SINTEF)
0.5 07/04/2008 Re-structuring, extended/amended content of Chapter 2 to reflect the overall specs of the ePP AF. Added ePP form constraints in Appendix. General minor modifications. Corrected deliverable references with respect to EndNote utility.
Christos Georgousopoulos (INTRASOFT)
0.6 08/04/2008 Minor formatting issues. Added installation guidelines for the testing environment.
Brian Elvesæter (SINTEF)
0.7 23/04/2008 Completion of installation guide. Added conclusion and formatted appendices
Christos Georgousopoulos (INTRASOFT)
Brian Elvesæter (SINTEF)
0.8 30/04/2008 Internal peer review. Drazen Brdjanin (EXIT-IT)
0.9 05/05/2008 Addressed feedback from internal peer review and final formatting.
Christos Georgousopoulos (INTRASOFT)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 3 of 98
TABLE OF CONTENTS
PART I – IDENTIFICATION SHEET .............................................................................................................1
VERSIONING AND CONTRIBUTION HISTORY ............................................................................................2
TABLE OF CONTENTS...............................................................................................................................3
LIST OF ACRONYMS .................................................................................................................................5
LIST OF FIGURES......................................................................................................................................8
LIST OF TABLES .......................................................................................................................................9
PART II – EXECUTIVE SUMMARY............................................................................................................10
PART III – FULL DESCRIPTION ...............................................................................................................11
1. INTRODUCTION ............................................................................................................................12
1.1 PURPOSE AND OBJECTIVES ....................................................................................................12
1.2 TARGET AUDIENCE AND RELATIONSHIP TO OTHER DELIVERABLES.......................................12
1.3 STRUCTURE OF THE REPORT ..................................................................................................13
2. OVERVIEW OF THE EPP APPLICATION FRAMEWORK ................................................................14
2.1 EPP APPLICATION FRAMEWORK SPECIFICATIONS .................................................................14
2.2 FRAMEWORK COMPONENTS ...................................................................................................15 2.2.1 Eclipse platform ................................................................................................................15 2.2.2 Development Environment................................................................................................16 2.2.3 Generation Engine ............................................................................................................17 2.2.4 Optional components ........................................................................................................18 2.2.5 ePP Application Framework Integration Plug-in ...............................................................18
2.3 FRAMEWORK ENVIRONMENT...................................................................................................18
2.4 SERVER AND TESTING ENVIRONMENT ....................................................................................20
2.5 JAVA EE TECHNOLOGIES.........................................................................................................21 2.5.1 Annotation-based Development........................................................................................21
3. INSTALLATION GUIDELINES ........................................................................................................23
3.1 INSTALLATION OF THE EPP APPLICATION FRAMEWORK ........................................................23 3.1.1 JEE platform .....................................................................................................................23 3.1.2 ePP Application Framework..............................................................................................29 3.1.3 Updating the environmental variables...............................................................................34
3.2 INSTALLATION OF THE DEPLOYMENT AND TESTING ENVIRONMENT OF THE EPP APPLICATION FRAMEWORK ......................................................................................................................................35 3.2.1 EJBCA Certificate Authority ..............................................................................................36 3.2.2 Updating the environmental variables...............................................................................36 3.2.3 Checking the correctness of Sun Java System Application Server ..................................36
4. CONCLUSION ...............................................................................................................................38
PART IV – APPENDICES .........................................................................................................................39
5. APPENDIX A: ACCOMPANYING CD-ROM ..................................................................................40
6. APPENDIX B: SPECIFICATIONS OF EPP FORM CONSTRAINTS .................................................41
6.1 PRIOR INFORMATION NOTICE..................................................................................................41 6.1.1 Preliminary Questions .......................................................................................................42 6.1.2 SECTION I: Contracting Authority.....................................................................................42 6.1.3 SECTION II.A: Object of the Contract...............................................................................44 6.1.4 SECTION II.B: Object of the Contract (Supplies or Services) ..........................................47 6.1.5 SECTION III: Legal, Economic, Financial and Technical Information ..............................49 6.1.6 SECTION VI: Complementary information .......................................................................49 6.1.7 ANNEX A ..........................................................................................................................50
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 4 of 98
6.1.8 ANNEX B: Information about Lots ....................................................................................51 6.1.9 Complementary SIMAP constraints ..................................................................................53
6.2 CONTRACT NOTICE..................................................................................................................55 6.2.1 Preliminary Questions .......................................................................................................55 6.2.2 SECTION I: Contracting Authority.....................................................................................56 6.2.3 SECTION II: Object of the Contract ..................................................................................58 6.2.4 SECTION III: Legal, Economic, Financial and Technical Information ..............................64 6.2.5 SECTION IV: Procedure ...................................................................................................65 6.2.6 SECTION VI: Complementary information .......................................................................69 6.2.7 ANNEX A ..........................................................................................................................71 6.2.8 ANNEX B: Information about Lots ....................................................................................75 6.2.9 Complementary SIMAP constraints ..................................................................................78
6.3 CONTRACT AWARD NOTICE ....................................................................................................80 6.3.1 Preliminary Questions .......................................................................................................80 6.3.2 SECTION I: Contracting Authority.....................................................................................82 6.3.3 SECTION II: Object of the Contract ..................................................................................84 6.3.4 SECTION IV: Procedure ...................................................................................................87 6.3.5 SECTION V: Award of Contract........................................................................................90 6.3.6 SECTION VI: Complementary information .......................................................................93 6.3.7 Complementary SIMAP constraints ..................................................................................94
PART V – REFERENCES .........................................................................................................................96
BIBLIOGRAPHY.......................................................................................................................................97
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 5 of 98
LIST OF ACRONYMS
Term Description
AF Application Framework
API Application Programming Interface
APT Advanced Packaging Tool
BPEL Business Process Execution Language
CA Contracting Authority
CD Compact Disk
CPV Common Procurement Vocabulary
CSS Cascading Style Sheets
CVS Control Versioning System
DBMS DataBase Management System
DoW Description of Work
DPS Dynamic Purchasing Systems
EAR Enterprise ARchive
EC European Commission
EIS Enterprise Information System
EJB Enterprise JavaBeans
EMF Eclipse Modeling Framework
EO Economic Operator
ePP electronic Public Procurement
EU European Union
FA Framework Agreement
GEF Graphical Editing Framework
GUI Graphical User Interface
HTML Hyper Text Markup Language
HTTP Hyper Text Transfer Protocol
ICT Information and Communication Technology
IDA Interchange of Data between Administrations
IDABC Interoperable Delivery of European eGovernment Services to Public Administrations, Business and Citizens
IDE Integrated Development Environment
IT Information Technology
JAR Java ARchive
JAXB Java Architecture for XML Binding
JAX-WS Java API for XML Web Services
JBI Java Business Integration
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 6 of 98
JDK Java Development Kit
JDO Java Data Objects
JDT Java Development Tools
JEE Java Enterprise Edition
JPA Java Persistence API
JRE Java Runtime Environment
JSE Java Standard Edition
JSF JavaServer Faces
JSP JavaServer Pages
MDA Model Driven Architecture
MDD Model-Driven Development
MDE Model-Driven Engineering
MEAT Most Economically Advantageous Tender
MOF Meta-Object Facility
OCL Object Constraint Language
OJEU Official Journal of the European Union
OMG Object Management Group
ORM Object Relational Mapping
OSS Open Source Software
PC Personal Computer
PIM Platform-Independent Model
PIN Prior Information Notice
POJO Plain Old Java Object
PPL Public Procurement Law
QL Query Language
QVT Queries/Views/Transformations
SDK Software Development Kit
SDO Service Data Objects
SE Software Engineering
SHTTP Secure HyperText Transfer Protocol
SLSB StateLess Session Bean
SME Small Medium Enterprise
SOA Service-Oriented Architecture
SPEM Software Process Engineering Metamodel
SQL Structured Query Language
UML Unified Modeling Language
URI Unified Resource Identifier
URL Unified Resource Locator
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 7 of 98
WADL Web Application Description Language
WAR Web Archive
WP Work Package
WSDL Web Services Description Language
WTP Web Tools Platform
XMI XML Metadata Interchange
XML Extensible Markup Language
XSD XML Schema Definition (Language)
XSL eXtensible Stylesheet Language
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 8 of 98
LIST OF FIGURES
Figure 1: Users of the ePP AF and their roles ........................................................................................12
Figure 2: Installation of the ePP AF ........................................................................................................13
Figure 3: ePP Application Framework Architecture................................................................................14
Figure 4: The ePP Application Framework environment ........................................................................19
Figure 5: Hierarchical directory structure of the ePP specific components ............................................19
Figure 6: Installation of JEE – screenshot No.1......................................................................................24
Figure 7: Installation of JEE – screenshot No.2......................................................................................24
Figure 8: Installation of JEE – screenshot No.3......................................................................................25
Figure 9: Installation of JEE – screenshot No.4......................................................................................25
Figure 10: Installation of JEE – screenshot No.5....................................................................................26
Figure 11: Installation of JEE – screenshot No.6....................................................................................26
Figure 12: Installation of JEE – screenshot No.7....................................................................................27
Figure 13: Installation of JEE – screenshot No.8....................................................................................27
Figure 14: Installation of JEE – screenshot No.9....................................................................................28
Figure 15: Installation of JEE – screenshot No.10..................................................................................28
Figure 16: Installation of JEE – screenshot No.11..................................................................................29
Figure 17: Installation of JEE – screenshot No.12..................................................................................29
Figure 18: SVN repository checkout from the ePP Application Framework ...........................................30
Figure 19: Checking-out the framework components from SVN............................................................31
Figure 20: Setting the MOFScript source directory – screenshot No.1 ..................................................31
Figure 21: Setting the MOFScript source directory – screenshot No.2 ..................................................32
Figure 22: Setting up new user libraries .................................................................................................32
Figure 23: Creating a new user library....................................................................................................33
Figure 24: Add JARs to the user library..................................................................................................33
Figure 25: JAR selection.........................................................................................................................33
Figure 26: JARs added to the user libraries ...........................................................................................34
Figure 27: Completion of user libraries...................................................................................................34
Figure 28: MS-Windows environmental variables ..................................................................................35
Figure 29: Login page of the Sun Java System Application Server’s Admin Console............................37
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 9 of 98
LIST OF TABLES
Table 1: ePP Application Framework plug-ins information.....................................................................15
Table 2: MS-Windows environmental variables for the ePP AF.............................................................35
Table 3: MS-Windows environmental variables for the server-side of the ePP AF................................36
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 10 of 98
PART II – EXECUTIVE SUMMARY
The overall aim of the ELLECTRA-WeB project is to specify, develop and test an open-source electronic Public Procurement (ePP) Application Framework and a set of Supporting Guidelines that will enable, on the one hand, Western Balkan ICT solution developers to cost-effectively develop, and, on the other hand, Western Balkan Public Organisations and Suppliers to easily deploy and use trusted, interoperable, user-friendly, secure and EC compliant electronic Public Procurement solutions.
The ePP Application Framework (AF) supports the latest evolutionary approach of Software Engineering, called Model-Driven Engineering (MDE). In contrast with traditional Software Engineering approaches, MDE shifts the focus of software development from writing code to modelling. An ePP solution produced via the utilisation of the ePP AF comes in the form of a Web-based application that adheres to Service-Oriented Architecture (SOA).
The target of this deliverable is the tool packaging and installation procedures for the ePP AF. The ePP AF comes packaged as an Eclipse bundle that can be installed on a PC belonging to the ePP Application Developers.
The development of the ePP AF has followed an iterative and incremental approach. This document forms the first release of the deliverable D10, namely D10.1 that reports on the Eclipse bundle and how to install it. For this release of the ePP AF we have selected and packaged a set of Eclipse components and developed ePP AF components that are tested and work together. For the next version D10.2 some of these components may be updated and/or replaced with newer and tested versions.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 11 of 98
PART III – FULL DESCRIPTION
This part includes Chapters 1–4.
• Chapter 1. Introduction
• Chapter 2. Overview of the ePP Application Framework
• Chapter 3. Installation guidelines
• Chapter 4. Conclusion
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 12 of 98
1. INTRODUCTION
1.1 Purpose and objectives
The overall aim of the ELLECTRA-WeB project is to specify, develop and test an open-source electronic Public Procurement (ePP) Application Framework and a set of Supporting Guidelines that will enable, on the one hand, Western Balkan ICT solution developers to cost-effectively develop, and, on the other hand, Western Balkan Public Organisations and Suppliers to easily deploy and use trusted, interoperable, user-friendly, secure and EC compliant electronic Public Procurement solutions.
The work that will be presented in this deliverable is part of the “Development of the ePP Application Framework” work package 3 (WP3) and covers the following tasks:
• Task T3.3: Development of the electronic Public Procurement Generation Engine.
The task T3.3 has been split for practical purposes into two subtasks (but not formally): (i) development, modifications and extension to the open-source MOFScript generation engine chosen for the ePP AF, and (ii) packaging of the ePP AF.
This deliverable focuses on the packaging of the ePP AF and describes the components of the ePP Application Framework and how to install it.
1.2 Target audience and relationship to other deliverables
Figure 1: Users of the ePP AF and their roles
The users of the ePP Application Framework may be distinguished into two different types according to their roles as shown in Figure 1.
• The ePP Framework Developer is responsible for the development and maintenance of the ePP AF, which includes activities such as maintenance of models and transformation rules.
• The ePP Application Developer is the end-user of the ePP AF that utilises the framework to develop an ePP solution as a Web-based application. This work includes activities such as installing the ePP AF and modelling, generating, implementing and testing ePP Web applications.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 13 of 98
The deliverables D2.2, D5.2, D10.1 and D11 are related and complements each other to form a complete documentation of all aspects of the ePP AF. In order to achieve a consistent and good documentation we have tried to minimize the overlap and focus on descriptions suited for the two different user roles of the ePP AF. This has resulted in the following:
• Deliverables D2.2 and D5.2 document the model architecture and the transformation rules, and are targeted at the ePP Framework Developer who is responsible for the information about the architecture of the framework and how to maintain and further develop it.
• Deliverables D10.1 and D11 document the installation and usage of the ePP AF and are targeted at the ePP Application Developer which does not necessarily need to understand the internal details of the ePP AF but only how to install and use it.
Figure 2: Installation of the ePP AF
This deliverable focuses on the activity “Install ePP AF” which gives an overview of the Eclipse-based ePP AF and a step-by-step guide for how to install and set it up.
1.3 Structure of the report
The report is organised as follows. Chapter 2 provides an overview of the ePP Application Framework. Chapter 3 documents the installation guidelines and Chapter 4 concludes this report. The appendix include: (i) a description of the content of the accompanying CD-ROM that contains the complete ePP AF and other components required to install and setup the framework, and (ii) the specifications describing the constraints of ePP forms - as part of the guidelines for the development of the corresponding component of ePP AF responsible for the production of part of the generated ePP solution’s front-end interface.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 14 of 98
2. OVERVIEW OF THE EPP APPLICATION FRAMEWORK
The architecture of the ePP Application Framework has been initially documented in Deliverable D3 - which was submitted in M6 - where the first version of the ePP Application Framework was released to be used: (i) as a proof-of-concept prototype, and (ii) for testing purposes. Since then several modifications/optimisations have been performed.
This Chapter describes the complete and updated architecture & specifications of the ePP Application Framework. The framework is built on top of the Eclipse Platform and several different plug-ins are integrated to form the framework. It is very important that ePP Application Developers have a thorough understanding of the components that form the framework as well as the technologies required for its operation.
2.1 ePP Application Framework specifications
The architecture of the ePP Application Framework is depicted in Figure 3. The architectural stack is composed of a collection of components. Every component is identified by a solid box; a dashed box represents an optional component that might be introduced into the architecture. A single component may consist of a number of different sub-components and plug-ins. The five major components identified within the architecture are listed below and described in more details in the following sub-sections.
• Eclipse platform: is the platform that integrates all the required plug-ins for the realization of the ePP Application Framework.
• Development Environment: corresponds to the required components for the development of models and code.
• Generation engine: is responsible for the transformation of models into code.
• ePP specific components: have been developed for the needs of the ePP AF. Examples of such components are fixed web-services to support different security implementation schemes, conversion of ePP forms (represented in XML standard) into PDF/HTML documents, deployment descriptors etc.
• Optional components: represent a collection of components that can be optionally integrated into the ePP Application Framework.
• ePP Application Framework Integration Plug-in: is responsible for the integration of all plug-ins under the Eclipse platform.
Electronic Public Procurement Application Framework
ePP Application Framework Integration Plug-in
Eclipse platform
Generation Engine
(MOFScript)
Traceability
Support
Optional components
Development Environment
Modelling Tools
ePP Model
Library
UML Profile for ePP
Applications
Code IDE
Web Tools Plattform
(WTP)
Java Development Tools
(JDT)
OCL
Model Validation
Papyrus UML editor
BPEL designer
JSF editor
(WTP)
BPELUML JSF
ePP specific components
Figure 3: ePP Application Framework Architecture
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 15 of 98
All the components and plug-ins of the ePP AF architecture are Open-source and can be downloaded (or updated) directly from the Vendor’s official web-site. The ePP AF is provided as a pre-configured platform of Eclipse with all the necessary plug-ins installed and it is available for public access via SourceForge.net in [1]. Table 1 contains information on the required Eclipse plug-ins that constitutes each of the architecture’s components, along with their dependencies.
Table 1: ePP Application Framework plug-ins information
Component Plug-in / sub-component
Dependency ePP specific
Modelling Tool �/�
Papyrus UML editor UML2, EMF, GEF �
UML ePP Profile UML2 �
ePP Model Library UML ePP Profile �
OCL checker UML2, EMF, OCL, LPG �
BPEL designer EMF, GEF, DTP, WTP �
JSF editor WTP �
Code IDE �
WTP EMF, SDO, XSD, GEF, JEM
�
JDT JRE (Java), JDT APT, JDT Core, JDT Debug, JDT UI
�
Generation Engine �
MOFScript AntLR, UML2, EMF �
Traceability Support MOFScript �
ePP Application Framework Integration Plug-in �
ePP Application Framework Integration Plug-in
UML Modelling Tool, Code IDE, Transformation Engine
�/�
Apart from the development environment and the rest of the framework’s architectural components that provide Application Developers with all the appropriate functionalities for the development of ePP solutions, the ePP Application Framework also requires a server environment, where the ePP solutions are deployed, as well as a testing environment, where the ePP solutions are tested, before put into operation – this is discussed in section 2.4.
2.2 Framework components
This section describes in detail the components of the ePP Application Framework.
2.2.1 Eclipse platform
Eclipse is an extensible, Open-source Integrated Development Environment (IDE). It is part of a project originally launched in November 2001, when IBM donated $40 million worth of source-code from WebSphere Studio Workbench [2] and formed the Eclipse Consortium to manage the continued development of the tool [3]. Eclipse plug-ins embodies an architectural pattern for building an application from constituent parts. Plug-ins exist in an instance of the Eclipse workbench [4]. Examples of existing plug-ins are: Eclipse Meta Facility (EMF) [5], Java Development Tools (JDT) [6], Plug-in Development Environment (PDE) [7] and MOFScript [8].
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 16 of 98
In the ELLECTRA-WeB project we are taking full advantage of the extensible architecture of the Eclipse platform by allowing several optional plug-ins (apart from the platform core components) to be added to the framework without the need for additional integration code.
2.2.2 Development Environment
The Development Environment provides the required components for the development of models and code, and it is consisted of the following basic components:
• The Modelling Tools, which provides the required functionality for the design of UML and BPEL models, as well as JSF web-pages which constitutes the front-end interface of the generated ePP solutions.
• The Code IDE, which provides an integrated development environment for the implementation of code.
2.2.2.1 UML Modelling Tool
The UML Modelling Tool is one of the Development Environment components that provide the required functionality for the design of models. Obviously, a UML editor forms one of the compulsory integral parts of the ePP AF but there is no restriction on which specific editor may be integrated to the framework, as far as it satisfies a collection of criteria.
The models that will be employed by the ePP AF will be based on the Eclipse implementation of the UML2 [9] specification. This ensures interoperability in the sense that an Application Developer may use any UML editor that conforms to UML2 for visualising and editing the ePP AF models. It is important to mention that UML2, in contrast with XMI, resolves conflict issues that emerge during the import/export of UML diagrams between different UML editors (even in commercial ones). The default UML modelling tool that we decided to use and integrate in the ePP AF is the Papyrus UML2 editor [10] due to its capabilities and its continues optimisation activities.
In the context of the UML Modelling Tool, the UML editor is extended by a collection of supplementary plug-ins that enhance its functionality. These are described in the following sub-sections.
UML Profile for Electronic Public Procurement Applications
The ePP UML profile defined within Deliverable D2.2 contains the ePP specific constructual language elements required for the design of models pertinent to ePP. The profile is implemented as an Eclipse plug-in and connected to the UML modelling environment. An Application Developer is able to apply specific stereotypes from the profile to the models with a few mouse-clicks.
EPP Model Library
A collection of UML and BPEL template models (constituting the PIM of an ePP solution) have been specified within the context of the ePP Application Framework – documented in Deliverable D2.2. An Application Developer apart from being able to build an ePP solution from scratch by using the ePP UML profile and defining his own models, s/he may take advantage of the pre-existing template models offered by the ePP AF. In this instance, the developer’s effort lies on the parameterisation of the existing models or the definition of new models based on the re-use, extension or optimisation of the pre-made ones.
Object Constraint Language Checker
The OCL Plug-in from the Model Development Tool Project [11] that is integrated to the UML modelling environment of the ePP AF enables the validation of models based on the constraints defined within the elements comprising those models – written in Object Constraint Language. The OCL checker may be used for the generation of a validation report that enables an Application Developer to resolve possible conflicts related with the design phase.
2.2.2.2 BPEL Designer
The second modelling editor integrated within the ePP AF is the BPEL designer [12] which supports the modelling of ePP business processes including (but not limited to) sequencing of process activities, correlation of messages and process instances, recovery behaviour in case of failures and exceptional conditions. The BPEL designer provides a visual environment for the design of BPEL models, including drag-and-drop functionality, and is fully compatible with other eclipse plug-ins, such as WST, EMF and
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 17 of 98
GEF. An Application Developer may define his/her own BPEL models to describe the required ePP processes, or re-use/extend and optimise the pre-made template models offered by the ePP Model Library.
2.2.2.3 JSF Editor
Although, the web tier of an ePP solution is provided by the ePP AF off-the-self, implemented in JSF technology based on IDABC [13], an Application Developer has the capability of performing the necessary enhancements for conforming the front-end interface (of the generated ePP solution) to his/her needs. The integrated to the ePP AF, JSF editor, is part of the WTP project [14] and enables the easy creation of new web-pages or the modification of existing ones within a visual development environment – without the need of manually writing code.
2.2.2.4 Code IDE
The Code IDE is a component of the Development Environment that provides an IDE for code implementation. The combination of WTP [14] and JDT [6] plug-ins, described in the following sub-sections, constitutes a professional environment for hard-coded Software Development under Eclipse platform. This will allow an Application Developers to fill in the remaining code not generated by the ePP AF, as well as to extend the auto-generated code if this is required.
Web Tools Platform
The Eclipse Web Tools Platform (WTP) plug-in provides APIs for JEE and Web-centric application development. The current version of this plug-in does not support EJB 3.0, but it is very likely that this will be added on a future release. The plug-in includes both source and graphical editors for a variety of languages and offers appropriate functionality for the deployment, execution and testing of applications.
Java Development Tools
The Java Development Tools (JDT) plug-in provides the appropriate resources to form a Java IDE for the development of Java applications. It adds a Java project nature and Java perspective to the Eclipse Workbench as well as a number of views, editors, wizards, builders, code merging and re-factoring tools.
2.2.3 Generation Engine
The process of generating code from models is an important aspect of the ePP AF and requires a model to text transformation engine. The MOFScript generation engine which is part of the Eclipse GMT sub-project is employed by the ePP AF and amended as appropriately so as to meet the needs of the framework. Our choice on selecting this particular engine was made due to the following reasons:
• MOFScript is developed and maintained by SINTEF1, which ensures expertise and experience
from using the tool. MOFScript has been used in a number of other IST projects such as MODELWARE [15], MUSIC [16], MADDAM [17], ASSERT [18].
• The model transformation rules are defined in the MOFScript scripting language. This language is part of the OMG MOF Models to Text Standardisation process [19] within OMG.
The MOFScript generation engine provides the required capabilities to enable the parsing, checking, and executing of the model transformation rules. The MOFScript scripting language aims to be aligned with the principles of the QVT [20] and provide flexible mechanisms for generating text output. The language can be classified as to an imperatively-oriented language with traditional scope rules and with optionally typed variables.
Traceability Support
The traceability support is one of the most interesting parts of MOFScript generation engine. One of the main challenges in MDE is the management of relations between different artefacts produced during the Software Development process. As a system becomes more complex, the number of artefacts is
1 SINTEF is one of the partners of ELLECTRA-WeB consortium. It is the fourth largest leading European independent non-profit research foundation, with a long tradition and expertise in the areas of modelling, interoperability, and Model-Driven Development.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 18 of 98
increasing and therefore trace links are necessary to be defined in order to record dependencies that exist between those artefacts [21].
In the ePP AF, traceability is provided as a partly optional functionality. Preserving manually inserted code is default behaviour in MOFScript and can not be turned off. This ensures that an iterative and incremental approach of Software Development may be followed.
MOFScript is also capable of generating trace links automatically during the execution of model transformation rules. Trace information may be maintained (as an instance of the MOFScript traceability meta-model) and enable a number of different functionalities such as impact, coverage and orphan analysis. In addition, due to this information it is possible to navigate directly into unprotected regions in the code.
2.2.4 Optional components
Due to the extensibility feature of Eclipse platform further components/plug-ins may be integrated in the architecture of the ePP AF. The introduction of other (optional) components, may extent or enhance the functionality of the framework. For instance, the utilization of Subclipse [22] plug-in and TEAM [23] component may provide the basis for the realisation of a de-centralised collaborative Software Development environment. Subclipse is an Eclipse plug-in providing support for Subversion
2 [24] within
the Eclipse platform. TEAM provides a decentralised, personalised, context-based framework for sharing knowledge about software implementation that is seamlessly integrated into Eclipse platform.
2.2.5 ePP Application Framework Integration Plug-in
The purpose of this plug-in is to well integrate in a seamless manner all the identified plug-ins that constitute the ePP AF. An Application Developer should have the impression of working on a single development environment and this is the responsibility of the ePP Application Framework Integration plug-in. Appropriate graphical elements such as icon buttons and menu items are introduced on the desktop environment of Eclipse platform to abstract complex procedures that require the execution of a number of steps.
The current version of the ePP Application Framework released along with Deliverable D10.1 provides an Integrated Development Environment. It is envisaged that the second release of the framework to be released as part of Deliverable D10.2 will include: (i) help functionality and supporting guidelines to describe the necessary steps that have to be followed on the implementation of an ePP solution via the framework, and (ii) the automation or support by visual means of the procedure of generation and deployment as a whole.
2.3 Framework environment
All of the components discussed in previous section have been seamlessly integrated within Eclipse platform in order to form a concrete visual development toolkit (IDE) for producing ePP solutions following the MDD approach of software engineering. The look and feel of the framework is based on Eclipse platform since this is the core module of the ePP AF, but has been parameterized to address the needs of the Application Framework developer. A screen-shot of the ePP AF demonstrating the modeling of a PIM is illustrated in Figure 4.
2 Subversion is an advanced Control Versioning System (CVS) toolkit. It provides functionalities such as file locking, versioning, branching/tagging, merging, patching, reverting, synchronisation with main repository etc.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 19 of 98
Figure 4: The ePP Application Framework environment
The purpose of this section is to provide an overview of how the ePP specific components are integrated within the framework, and form part of its environment, rather than to provide a detail description of the development environment as a whole. A description of the ePP AF environment as well as its usage is addressed in detail by Deliverable D11.
As it is illustrated on top-left corner of Figure 4 (magnified in Figure 5), the ePP specific components are well maintained within a hierarchical directory structure.
Figure 5: Hierarchical directory structure of the ePP specific components
The name of each directory identifies the placeholder of the corresponding component/artifacts, in specific:
• components: is composed of two sub-directories; the supporting libraries contains as the name suggests, the coding libraries (organised into separate folders) required by the associated implemented components maintained within the second sub-directory named components which is further divided into the following sub-directories:
• classification codes: contain web-services for managing the ePP classification codes i.e. CPV, NUTS, VOC.
• document conversion: contains web-services for managing the conversion of ePP document expressed in XML format into PDF and HTML files.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 20 of 98
• eMailing infrastructure: contains web-services for handling the communication channel between the ePP solution and OJEU.
• GUI: contains the front-end components of an ePP solution expressed in JSF. These involve raw web-pages utilised by transformation rules for generating (i) the interface of an ePP solution, (ii) the ePP forms, such as the PIN, Contract Notice etc., and (iii) the administration console of the end system. All of the components have been implemented with reference to the IDABC demonstrator [25]. The constraints required for the validation of data entered within ePP forms have been defined and documented in APPENDIX B: Specifications of ePP form constraints.
• Security modules: contains web-services for supporting the security infrastructure of the ePP solution such as encrypting/decrypting and time-stamping ePP documents, and generating certificate keys. A Java client application has also been implemented for supporting the client-side encryption of ePP document i.e. tenders.
In general, the content of each component is organised into two distinct directories within the parent one, namely the src and dist. The source files of a component are maintained within the first folder, where the distribution files are placed within the later one.
• documentation: This directory is currently empty. In the next release of the ePP AF it will be populated with appropriate documentations to support the usage of the framework. Basically the Practice Guide that will be delivered from Deliverable D11 will form the basic of this documentation.
• reference models: contains a representation of the ePP UML profile and the Reference model3
expressed in UML – for the reference of the Application developer.
• scripts: contains all the required scripts to support the complete generation and deployment of an ePP solution, such as deployment descriptors.
• transformation rules: contains the transformation rules required by MOFscript generation engine which are divided into three categories according to their functionality:
• server-side: generate the Persistence layer and part of the business logic of the end ePP solution.
• client-side: generate the web tier of the end ePP solution.
• business-logic: generate BPEL-specific descriptors of the corresponding BPEL diagrams that describe ePP processes.
• ePP application: contains a reference ePP solution, composed of a number of sub-directories. In specific, the Models sub-directory is further divided into two other sub-directories containing a collocation of template models to constitute the Platform Independent Model of a generic ePP solution.
• UML: contains the User model expressed in UML,
• BPEL: contains a collection of models expressed in BPEL, where each BPEL model represents a Functional Requirements as it has been identified by IDABC [13].
2.4 Server and Testing environment
The ePP solutions generated from the ePP AF have to be deployed on an application server. There is no restriction on the type of application server that might be used, as long as it supports EJB 3.0 [26]. Examples of open-source application servers are JBoss [27], Glassfish [28] and Sun Java System Application Server [29].
In the same sense, a developer might choose any type of persistence medium to support the EIS tier of the architecture, as long as it is a relational database. The Java Persistence API abstracts vendor-specific database connection and access details from implementation code. The most popular open-source relational DBMS is MySQL [30] and Derby [31].
3 The Reference model contains specific information pertinent to ePP domain of which an Application Developer can use in order to describe the required functionality in his/her User model. More specifically, the Reference model captures information from the UML ePP profile. The primarily objective of the Reference model is to abstract the level of complexity,
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 21 of 98
Moreover, a BPEL Server such as Open ESB [32] or ActiveBPEL [33] should be used to allow the execution of the BPEL files. The BPEL XML files are based on the definition of BPEL 2.0[34] and the BPEL server can be any open source server, which supports BPEL 2.0 and runs on any application server that supports EJB 3.0.
We have decided to use the following specific technologies for the target platform of the ePP AF:
• Sun Java System Application Server 9.1: the application server is based on GlassFish and is a Java Enterprise Edition 5 compatible platform that fully supports the EJB 3.0 standard for developing and delivering server side Java applications and Web Services.
• Open ESB 2: the Sun Java System Application Server does not come with a BPEL engine which is required by the ePP AF. Open ESB was chosen since it is an open source project that can easily be integrated with the Sun Java System Application Server, and it will become a standard way to work with BPEL and service-oriented integration.
• Derby 10.2: is a multithreaded, multi-user SQL database management system (DBMS) capable of running on a number of different platforms and it is bundled with the Sun Java System Application Server.
• EJBCA 3.6: is a fully functional platform-independent Certificate Authority based on JEE technology required for the management of security certificates. It can be used standalone or integrated in any JEE application. EJBCA[35] prerequisites the installation of JBoss application server on where it is deployed.
• soapUI 2.0.2 is a free and open source testing environment for inspecting, invoking, simulating and load testing Web services over HTTP. It is available both as a standalone product and as a plug-in for the Eclipse environment.
2.5 Java EE technologies
The ePP Application Framework utilizes Java Enterprise Edition (JEE)[29]. JEE is a descendant of the Java technology, built on the solid foundation of Java Standard Edition. The JEE is an extension to Java Standard Edition that allows developers to use Web technologies and develop enterprise applications. It is widely accepted as the industry standard for developing portable, robust, scalable and secure server-side Java applications. A wide range of APIs [36] assists the development of Service-Oriented Architecture and next-generation Web-based applications. JEE supports the following technologies:
• JavaServer Pages (JSP) [37] technology allows you to easily create Web content that has both static and dynamic components. A JSP page is a text document that contains two types of text: (i) static data, which can be expressed in any text-based format, and (ii) JSP elements, which construct dynamic content.
• JavaServer Faces (JSF) [38] technology is a server-side user interface component framework for Java technology-based Web applications. JSF includes amongst others a set of APIs for representing user interface (UI) components and managing their state, handling events and input validation, converting values, defining page navigation, and supporting internationalization and accessibility.
• Java Web Services (JAX-WS) [39] provides full support for W3C XML Schemas, maps Java Classes to XML data and is used to encode and decode data sent in Web Services calls. JAX-WS defines client APIs for accessing Web Services as well as techniques for implementing Web Service endpoints.
• Enterprise JavaBeans (EJB) [26] technology enables rapid and simplified development of distributed, transactional, secure and portable applications based on Java technology.
• Java Persistence API [40] provides an object/relational mapping facility to Java developers for managing relational data in Java applications. It is used to handle the communication between the business tier and the EIS tier (of the generated ePP solution).
2.5.1 Annotation-based Development
Annotation-based development is one of the latest Java development trends that enable a declarative style of programming. Annotations are meta-tags introduced into the code to describe package
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 22 of 98
declarations, constructors, methods, parameters etc. This approach simplifies programming and allows indicating whether methods are dependent on other methods, whether they are incomplete, whether Classes have references to other Classes etc. Annotations do not directly affect program semantics, but rather trigger code generation tools to generate additional constructs e.g. a deployment descriptor for a specific Class.
Within the code of the generated ePP solutions, annotations are used to describe both Web-services and persistence objects. Annotations are defined for Stateless Session Beans (SLSB), Stateful Session Beans (SFSB), Entity Beans, Entity relationships and Object-Relational mappings. A Java Class that stores and maintains information into a database is declared as an Entity Bean. Entity relationships annotations are used to define the connection between two or more Entity Beans. Annotations within Entity Beans are also used for customization purposes, such as the definition of table and field names, configuration properties of each field etc. Session Beans are used for the implementation of Web-services, and Object-Relational mappings are used to define linear relationships between Java objects and corresponding database entities.
In addition annotations for security, transactions and internationalization are potential candidates in the generated ePP solution.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 23 of 98
3. INSTALLATION GUIDELINES
This Chapter aims at providing appropriate guidelines to ICT developers on how to setup the ePP Application Framework, as well the environment for deploying and testing the generated ePP solutions. The CD-ROM disk accompanied to this Deliverable contains all of the necessary installation files, which are also available for public access and may be downloaded from SourceForge.net in [1].
The installation files required for the setup of the ePP Application Framework are the:
• Ellectra-web ePP Application Framework.rar: which contains preconfigured all the necessary components that constitute an integrated MDD environment under the Eclipse platform, in other words the ePP Application Framework,
• java sdk 5.04.exe: this is the installation file of JEE4 which contains the:
• Java Development Kit 6.0,
• Sun Java System Application Server 9.1,
• Derby 10.2 DBMS,
• Open ESB 2 BPEL server,
but only the Java Development Kit (JDK) is required. This installation file is used both in the setup of the ePP AF and its deployment & testing environment for consistency purposes.
The installation files required for the setup of the server-side of the ePP AF for the deployment and testing of ePP solutions generated via the framework are the:
• java sdk 5.04.exe: the installation file of JEE required for the installation of the following:
• Java Development kit 6.0,
• Sun Java System Application Server 9.1,
• Derby 10.2 DBMS,
• Open ESB 2 BPEL server,
• ejbca 3.6.rar: the EJCBA Certificate Authority,
• jboss 4.2.2.zip: the JBoss application server required by EJBCA, and
The rest of this chapter is divided into two main sections to cover the installation of the ePP Application Framework and the installation of its deployment and testing environment (server-side) on Microsoft Windows operating system. The installation of the aforementioned files must proceed strictly in the order as it is presented in the following sections; otherwise conflict might occur between installations. The default hard-disk drive for both of the installations is assumed to be ‘C:\’.
3.1 Installation of the ePP Application Framework
The installation of the ePP Application Framework requires and must follow the setup of the JDK and therefore the order of installation is as follows:
• Java Development Kit
• ePP Application Framework
The following sub-sections describe in detail the required steps for the setup of the above software.
3.1.1 JEE platform
The installation of the JEE platform is required both by the ePP Application Framework and the server-side on where ePP solution generated via the framework will be deployed and tested. The installation begins by executing the “java sdk 5.04.exe” file.
4 Java EE 5 SDK Update 2 has been downloaded from http://java.sun.com/javaee/downloads/index.jsp
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 24 of 98
• On the welcome window that appears (Figure 6), click the ‘Next’ button.
Figure 6: Installation of JEE – screenshot No.1
• The next window (Figure 7) contains licensing information. After you have read and agreed to the software licence agreement, select the ‘Yes’ radio-button click ‘Next’.
Figure 7: Installation of JEE – screenshot No.2
• In this window (Figure 8) the installation directory has to be defined. It is advised to use the proposed directory path as this will be also required in a later stage for setting up the environmental variables. Once you click ‘Next’, a new window pop-ups and informs you that the directory does not exist – this appears if you haven’t install JEE before; click ‘Create Directory’ to continue the installation.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 25 of 98
Figure 8: Installation of JEE – screenshot No.3
• In case a Windows security alert appears (Figure 9), click the ‘Unblock’ button.
Figure 9: Installation of JEE – screenshot No.4
• The rest of the installation involves the configuration of the Sun Java System Application Server. Of course, this is not required by the ePP Application Framework but it is compulsory for completing the installation – since the same file for the setup of the JEE platform for the ePP AF and its deployment & testing environment has been used (for consistency purposes).
Therefore, the configuration of the administrator console of the Sun Java System Application Server is performed in the window of Figure 10. Here the (i) administrator credentials, and (ii) the server ports for the admin console and the web-server with and without support of SSL protocol have to be defined. It is advisable to keep in a safe place the administrator credentials and use the default ports, unless the defined ports are bound by other applications. In order to proceed click ‘Next.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 26 of 98
Figure 10: Installation of JEE – screenshot No.5
• The next step (Figure 11) regards the setting up of environmental variables and operating system’s services. Check the second and forth check-box and click ‘next’. For the setup of the deployment & testing environment of the ePP AF, check the last check-box as well - as it is illustrated in figure. This will add the Sun Java System Application Server on the services of MS-Windows and will force the server to start-up after the operating system is in operation.
Figure 11: Installation of JEE – screenshot No.6
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 27 of 98
• After the ‘Next’ button has been clicked, the window of Figure 12 appears. For the setup of the ePP Application Framework un-check all of the check-boxes and simply click ‘Next’. For the setup of the server-side of the ePP AF select the first check-box in order to include the installation of the OpenESB BPEL server. The Sun Java System Access Manager (third check-box) is not required either by the ePP AF or its deployment & testing environment; you may optionally choose it for the server-side.
Figure 12: Installation of JEE – screenshot No.7
• The window of Figure 13 briefly outlines the software products that will be installed. The installation of the appropriate files begins immediately after you click on the ‘Install Now’.
Figure 13: Installation of JEE – screenshot No.8
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 28 of 98
• The window of Figure 14 provides a status bar visualising the installation progress. The process of transferring the necessary files to your local disk requires a number of minutes before it is completed. When the status bar reaches 100% the installation is almost complete.
Figure 14: Installation of JEE – screenshot No.9
• In the window of Figure 15 click ‘Next’ to skip the registration.
Figure 15: Installation of JEE – screenshot No.10
• The installation completes by clicking the ‘Finish’ button in the window of Figure 16. If you would like to launch the Sun Java System Application Server without restarting your computer click on the ‘Start Server’ button – this is required only for the setup of the server-side of the ePP AF. Once the
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 29 of 98
server is launched MS-Windows might ask you (see Figure 17) whether you would like to block or unblock the running application; click ‘Unblock’.
Figure 16: Installation of JEE – screenshot No.11
Figure 17: Installation of JEE – screenshot No.12
Once the JEE platform has been installed the update of the environmental variables is required – this is performed after the setup of all the necessary software is completed, and it is discussed in section 3.1.3.
3.1.2 ePP Application Framework
The installation of the ePP Application Framework involves the un-compress of the ‘The ePP Application Framework.rar’ file into the root directory of the ‘C:\’ hard-disk drive. For the Application Framework developer’s convenience, we have basically performed a clean installation of Eclipse IDE on a PC, applied all the necessary plug-ins that constitute the ePP AF and configured them
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 30 of 98
appropriately. It is strongly recommended to use winRAR5 for the extraction of the framework files,
because the Windows integrated zip tool might not un-compress the files properly.
After the ‘ePP Application Framework’ directory (from within the .rar file) has been saved into the hard-disk, open it and execute the ‘eclipse.exe’ - this will launch the ePP Application Framework. Once the Eclipse is started a welcome message will appear, close it and the next screen that should appear should look like the one illustrated in Figure 18. If the ‘SVN Repository’ tab is not visible in the top-left corner of Eclipse, then click on the double arrows (») on the right-top corner of Eclipse and change the perspective to ‘SVN Repository Exploring’.
Figure 18: SVN repository checkout from the ePP Application Framework
In order to download the latest framework components from the SVN repository hosted in INTRASOFT International S.A. follow the steps below:
• From within the ‘SVN Repository’ tab expand the ‘svn://193.192.38.78/ELLECTRA-WeB’ folder and select with the mouse all the directories. Right-click on the selected folders and select ‘Checkout…’ from the drop-down menu (as illustrated in the above figure).
• On the pop-up window that appears (left photo of Figure 19) select the first and second radio-buttons and click ‘Next’ – this will force to download the latest revisions of the software components.
• After ‘Next’ is pressed, the window illustrated in the right-side of Figure 19 appears for setting the directory path on where the framework files will be checked-out. It is advisable to use the default directory path (‘c:\workspace) proposed and click ‘Finish’.
• Then a new window appears visualising the downloading progress. Once all of the files are downloaded, the pop-up window disappears.
After the framework components have checked-out successfully click on the double arrows (») on the right-top corner of Eclipse and change the perspective to ‘Papyrus’ i.e. the UML modelling environment of the ePP Application Framework.
5 WinRAR is a compression tool. You may download a trial version from www.download.com at http://www.download.com/WinRAR/3000-2250_4-10690736.html?tag=pop.software.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 31 of 98
Figure 19: Checking-out the framework components from SVN
The next step concerns the configuration of the output source directory for the files generated by MOFScript generation engine and involves the execution of the following steps:
• From the ‘Navigator’ tab (left-top corner of Eclipse) expand the ‘eu.ellectraweb.framework. transformation.rules’ folder and navigate to the ‘ePPMainGenerator.m2t’ file placed within ‘server-side’ folder – as illustrated in left-side of Figure 20. It may be required to press ‘F5’ in the ‘Navigator’ tab for updating the contents of the directories.
Figure 20: Setting the MOFScript source directory – screenshot No.1
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 32 of 98
• Right-click on the ‘ePPMainGenerator.m2t’ and select ‘Properties’ from the drop-down menu.
• On the pop-up window that will appear, select ‘MOFScript Properties’ from the left-hand side (Figure 20).
• Click ‘browse’ and from within the new pop-up window (Figure 21) navigate to and select the ‘src’ directory of your Eclipse workspace. The directory path should be ‘C:\workspace\eu.ellectraweb. solution.epp.application\src’. Click ‘OK’ twice in order to return to Eclipse.
Figure 21: Setting the MOFScript source directory – screenshot No.2
The final step regards the configuration of the user libraries required for the proper functionality of the coding environment (IDE) of the framework. This involves the execution of the following steps:
• Select ‘Windows->Preferences…’ from the menu. Navigate to the preferences for Java and select ‘User Libraries’ and then click the ‘New…’ button (Figure 22).
Figure 22: Setting up new user libraries
• We need to create four new user libraries for the ePP AF. Name the user libraries ‘JSF’, ‘JSFComponents’, ‘JSTL’ and ‘SunApplicationServer’. The following steps describe how to set up the ‘JSF’ user library (Figure 23).
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 33 of 98
Figure 23: Creating a new user library
• Once the ‘JSF’ user library is defined we need to ‘Add JARs…’ to the library (Figure 24).
Figure 24: Add JARs to the user library
• Click the ‘Add JARs…’ button and navigate to your Eclipse workspace where the checked out (using Subclipse) ePP Eclipse projects are found. Navigate to the folder ‘Supporting Libraries/JSF’ in the ‘eu.ellectraweb.framework.components’ project and select the .jar files that you find (Figure 25).
Figure 25: JAR selection
• The added JARs should now show up in the user libraries (Figure 26).
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 34 of 98
Figure 26: JARs added to the user libraries
• Repeat the steps in order to create the remaining user libraries. JARs under the ‘Supporting Libraries/JSF-Components’ folder should be added to the ‘JSFComponents’ user library, JARs under the ‘Supporting Libraries/JSTL’ folder should be added to the ‘JSTL’ user library and finally JARs under the ‘Supporting Libraries/SunApplicationServer’ folder should be added to the ‘SunApplicationServer’ user library (Figure 27).
Figure 27: Completion of user libraries
Once the ePP Application Framework and its dependencies (i.e. JEE platform) have been installed and configured what it remains is the update of the MS-Windows environmental variables, which is described in detail in the following section.
3.1.3 Updating the environmental variables
The setup of the ePP Application Framework is concluded with the update of the operating systems’ (MS-Windows) environmental variables. This involves the variables listed in Table 2. It is assumed that the JEE platform, and ePP Application Framework, have been installed in the proposed directories
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 35 of 98
mentioned in previous sections. Otherwise, the alternative directory-names/paths chosen for the installed software should be reflected on the path directories of the variables’ values.
Table 2: MS-Windows environmental variables for the ePP AF
Variable Name Variable Value
User variables for Administrator JAVA_HOME C:\Sun\SDK\jdk
JAVAEE_HOME C:\Sun\SDK
PATH C:\Sun\SDK\bin;C:\Sun\SDK\jdk\bin;c:\ePP Application Framework;
In order to change the MS-Windows environmental variables follow the steps below:
• From the Windows “start” desktop menu icon ( ) navigate to ‘Control Panel’; either by following ‘start � Control Panel’ or ‘start � Settings � Control Panel’.
• On the Control Panel window search for and double-click the ‘System’ icon.
• From the System Properties window that will appear (left photo of Figure 28) select the ‘Advanced’ tab and click on the ‘Environment Variables’.
• In the new pop-up window emerged, named by ‘Environment Properties’ (illustrated in the right-side of Figure 28) click the ‘New’ or ‘Edit’ buttons to insert or update the appropriate environmental variables with reference to data defined in Table 2.
Figure 28: MS-Windows environmental variables
3.2 Installation of the deployment and testing environment of the ePP Application Framework
The installation of the server-side of ePP Application Framework i.e. on where ePP solutions generated via the framework will be deployed & tested, involves the setup of the following software in the order listed below:
• JEE platform
• Sun Java System Application Server
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 36 of 98
• Open ESB BPEL server
• Derby DBMS
• JBoss Application Server
• EJBCA
The installation of JEE platform includes the Sun Java System Application Server, OpenESB BPEL server and Derby DBMS. The installation of the aforementioned software is well described in section 3.1.1. The following sections provide (i) guidelines on how to install EJBCA, which runs on top of JBoss Application Server, and (ii) instructions for checking the proper installation of the Sun Java System Application Server.
3.2.1 EJBCA Certificate Authority
The installation of EJBCA prerequisites the setup of the JBoss Application Server, which runs on top of it. In order to install JBoss and EJBCA, extract the contents of the ‘jboss 4.2.2.zip’ and ‘ejbca 3.6.rar’ files in the root directory of the ‘c:\’ hard-disk drive. This implies the reposition of the ‘jboss’ and ‘ejbca’ directories in the ‘c:\’ hard-disk drive.
After the installation of JEE platform and EJBCA has been completed what it remains is the update of the MS-Windows environmental variables, which is described in detail in the following section.
3.2.2 Updating the environmental variables
The setup of the server-side of the ePP Application Framework (deployment & testing environment) is concluded with the update of the operating systems’ (MS-Windows) environmental variables. This involves the variables listed in Table 3. It is assumed that the all software that constitutes the ePP AF’s server-side has been installed in the proposed directories mentioned in previous sections. Otherwise, the alternative directory-names/paths chosen for the installed software should be reflected on the path directories of the variables’ values.
Table 3: MS-Windows environmental variables for the server-side of the ePP AF
Variable Name Variable Value
User variables for Administrator JAVA_HOME C:\Sun\SDK\jdk
JAVAEE_HOME C:\Sun\SDK
JAVAEE_DEPLOY C:\Sun\SDK\domains\domain1\autodeploy
PATH C:\Sun\SDK\bin;C:\Sun\SDK\jdk\bin;
System variables APPSRV_HOME C:\jboss
JBOSS_HOME C:\jboss
EJBCA_HOME C:\ejbca
Instructions on how it is possible to amend the MS-Windows environmental variables may be found in section 3.1.3.
3.2.3 Checking the correctness of Sun Java System Application Server
In order to test that the Sun Java System Application Server has been installed successfully from within an Internet-browser (such as MS-Internet Explorer) try to access the following URL: http://<server-ip>:4848, where the <server_ip> corresponds to the IP number of the server on where Sun Java System Application Server has been installed. The port 4848 is used for accessing the administrator console. If a different port has been configured during installation please amend the URL appropriately. It is assumed that the server is running as a MS-Windows service – configured during the installation.
Once you access the aforementioned URL ideally the Internet-browser should return a web-page similar to the one illustrated in Figure 29 i.e. the administrator authentication console. If the Sun Java System Application Server has not been installed or configured properly then an error-page is returned.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 37 of 98
Figure 29: Login page of the Sun Java System Application Server’s Admin Console
In case of an error, a few things that worth looking at for resolving the conflict are:
• The server’s firewall does not block the ports configured for the Sun Application Server.
• The ports configured for the Sun Java System Application Server are not used by any other application.
• If the MS-Windows Internet Information Service (IIS) is running disable it from the services of control panel.
• If you are trying to access the administrator console from the Internet-browser installed in the server itself make sure that if a proxy server for internet.
• Open the log file of the Application server and search for any error messages. The log file is located in “<JEE directory> \ SDK \ domains \ domain1 \ logs \ server.log”.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 38 of 98
4. CONCLUSION
This report has given an overview of the ePP Application Framework and described the open source Eclipse components that the application framework has been built on. The framework has been packaged as an Eclipse bundle, which consists of the ePP-specific components developed in WP2 and WP3 and the chosen Eclipse components, in order to make the installation easier for the users of the framework. A detailed installation guideline, with appropriate screen shots, is also been documented in this report to further aid the installation and configuration of the development and server-side environment of the framework.
The version of the ePP AF described in this report represents the first complete release of the framework that is to be used in the trials in the Western Balkan. Based on user experience and feedback, further improvements in particular integration and usability of the Eclipse environment will be one area of focus, as well as bug-fixing of existing ePP-specific components.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 39 of 98
PART IV – APPENDICES
This part includes supplementary appendices.
• APPENDIX A: Accompanying CD-ROM
• APPENDIX B: Specifications of ePP form constraints
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 40 of 98
5. APPENDIX A: ACCOMPANYING CD-ROM
With this deliverable follows an accompanying CD-ROM that contains:
• Ellectra-web ePP Application Framework.rar: Eclipse environment with all relevant plug-ins installed and configured to constitute the ePP Application Framework.
• java sdk 5.04.exe: Java Enterprise Edition (JEE), which includes the:
• Java Development Kit 6.0 necessary for the generation, compilation and debugging of Java code.
• Sun Java System Application Server 9.1 for supporting the web tier of the ePP solutions - deployment & testing of ePP solutions exposed as web-applications.
• Derby DBMS 10.2 for supporting the persistence tier of the ePP solutions.
• OpenESB 2 BPEL server for supporting the business tier of the ePP solutions - deployment & testing of ePP processes exposed as BPELs.
• ejbca 3.6.rar: EJBCA Certificate Authority for supporting security infrastructure i.e. the management of security certificates,
• jboss 4.2.2.zip: the JBoss Application Server required by EJBCA, which runs on top of it.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 41 of 98
6. APPENDIX B: SPECIFICATIONS OF EPP FORM CONSTRAINTS
This chapter documents the constraints required for the validation of the ePP form data. The chapter is mainly divided in three sections covering the following SIMAP ePP forms:
• Prior Information Notice,
• Contract Notice, and
• Contract Award Notice.
The identified constraints are expressed in a semi-formal language and have been used for the implementation of the corresponding ePP forms (of the ePP Application Framework) expressed in Java language. Apart from the constraints supported by the SIMAP ePP forms we have also documented a number of complementary constraints to address extra validation rules not covered by the former.
The documentation of the constraints is as follows. Every ePP form is divided into a number of sections, and for each section a ‘form fields’ and a ‘constraints’ section exists. The ‘form fields’ lists all of the form’s components (e.g. dynamic text-fields, check-boxes, radio-button etc.), where the ‘constraints’ section documents the validation rules applied to those components.
With regard to the approach of documenting/expressing the constraints:
• when a rule includes in its statements a large amount of fields that define an entire section, we use the form:
<Action> Section <number> e.g. Show Section III.A
in order to express the statement.
• when a rule includes statements that refer to individual fields, which belong to a single section or to several distinct sections, we use the form:
<field> = <action> e.g. A15=hide
• a number of fields (or even whole sections) may appear or made invisible according to users’ prior selections. In such cases we define such rules using the “enable” and “disable” actions for those fields.
6.1 Prior Information Notice
The Prior Information Notice is composed of the following eight sections:
• PRELIMINARY QUESTIONS
• SECTION I: CONTRACTING AUTHORITY
• SECTION II.A: OBJECT OF THE CONTRACT (WORKS)
• SECTION II.B: OBJECT OF THE CONTRACT (SUPPLIES OR SERVICES)
• SECTION III: LEGAL, ECONOMIC, FINANCIAL AND TECHNICAL INFORMATION
• SECTION VI: COMPLEMENTARY INFORMATION
• ANNEX A
• ANNEX B
The following sub-sections identify the constraints of the aforementioned ePP form sections. Additionally, a number of constraints not addressed by the SIMAP ePP forms are provided, such as the validation of entered dates and negative values.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 42 of 98
6.1.1 Preliminary Questions
6.1.1.1 Form Fields
Type of Contract:
A1 = (a) Works (Option) A2 = (b) Supplies (Option) A3 = (c) Services (Option) A4 = Quantity in section 2B (Text Box)
6.1.1.2 Constraints
Only one type of contract must be selected:
(A1=true) or (A2=true) or (A3=true)
If (A1=true) Then
A2=false
A3=false
Else If (A2=true) Then
A1=false
A3=false
Else If (A3=true) Then
A1=false
A2=false
Field validation:
If (A2=true or A3=true) Then
A4<>null
A4>0 // A4 must be a positive Integer
Other constraints:
If (A1=true) Then
A4=disable
Else If (A2=true) Then
A4=enable
Else If (A3=true) Then
A4=enable
If (A1=true) Then
Hide Section II.B
Show Section II.A
Show Section III.1.1
Else If (A2=true and A4>0) Then
Hide Section II.A
Hide Section III.1.1
For (i=1; i<=A4; i++)
Show Section II.B
A70=true
A70=show
A71=hide
A72=hide
Else If (A3=true and A4>0) Then
Hide Section II.A
Hide Section III.1.1
For (i=1; i<=A4; i++)
Show Section II.B
A70=hide
A71=true
A71=show
A72=show
A72<>null
6.1.2 SECTION I: Contracting Authority
6.1.2.1 Form Fields
Section I.1:
A5 = Official Name (Text Box) A6 = Postal Address (Text Area)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 43 of 98
A7 = Town (Text Box) A8 = Country (drop down) A9 = Postal code (Text Box) A10 = Contact points (Text Box) A11 = Telephone (Text Box) A12 = For the attention of (Text Box) A13 = Email (Text Box) A14 = Fax (Text Box) A15 = General address of the contracting authority url (Text Box) A16 = Address of the buyer profile url (Text Box) A17 = For further information, as in above mentioned contact point(s) (Option) A18 = For further information, other: please complete annex A.I. (Option)
Section I.2:
A19 = Ministry or any other national or federal authority, including their regional or local sub-divisions (Option)
A20 = National or federal agency/office (Option) A21 = Regional or local authority (Option) A22 = Regional or local agency/office (Option) A23 = Body governed by public law (Option) A24 = European institution/agency or international organisation (Option) A25 = Other (Option) A26 = please specify other (Text Box) A27 = General public services (check Box) A28 = Defence (check Box) A29 = Public order and safety (check Box) A30 = Environment (check Box) A31 = Economic and financial affairs (check Box) A32 = Health (check Box) A33 = Housing and community amenities (check Box) A34 = Social protection (check Box) A35 = Recreation, culture and religion (check Box) A36 = Education (check Box) A37 = Other (check Box) A38 = please specify other (Text Box) A39 = The contracting authority is purchasing on behalf of other contracting authorities
(Option) (Yes / No)
6.1.2.2 Constraints
Obligatory fields:
(A5<>null) and (A6<>null) and (A7<>null) and (A8<>null)
(A17<>null) or (A18<>null)
Field validation:
If (A13<>null) Then
A13=ValidEmail
If (A15<>null) Then
A15=ValidURL
If (A16<>null) Then
A16=ValidURL
Mutually exclusive fields:
If (A17=true) Then
A18=false
Else If (A18=True) Then
A17=false
Type of the contracting authority:
If (A19=true) Then
A20=false
A21=false
A22=false
A23=false
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 44 of 98
A24=false
A25=false
A26=disable
Else If (A20=true) Then
A19=false
A21=false
A22=false
A23=false
A24=false
A25=false
A26=disable
Else If (A21=true) Then
A19=false
A20=false
A22=false
A23=false
A24=false
A25=false
A26=disable
Else If (A22=true) Then
A19=false
A20=false
A21=false
A23=false
A24=false
A25=false
A26=disable
Else If (A23=true) Then
A19=false
A20=false
A21=false
A22=false
A24=false
A25=false
A26=disable
Else If (A24=true) Then
A19=false
A20=false
A21=false
A22=false
A23=false
A25=false
A26=disable
Else If (A25=true) Then
A19=false
A20=false
A21=false
A22=false
A23=false
A24=false
A26=enable
Activities:
If (A37=true) Then
A38=enable
Else If (A37=false) Then
A38=disable
Other constraints:
If (A18=true) Then
Show Annex A Section I
Else If (A18=false) Then
Hide Annex A Section I
6.1.3 SECTION II.A: Object of the Contract
6.1.3.1 Form Fields
Section II.1:
A40 = Title Attributed To The Contract By The Contracting Authority (Text Box)
Section II.2:
A41 = Main site or location of works (Text Box) A42 = NUTS Code (Text Box) A43 = Nuts Code Selector (Button)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 45 of 98
Section II.3:
A44 = This Notice Involves A Framework Agreement (Option) (Yes / No)
Section II.4:
A45 = Short Description Of Nature And Scope Of Works (Text Area) A46 = Option1 (Option) A47 = Estimated cost of works excluding VAT (Text Box) A48 = Currency (drop down) A49 = Option2 (Option) A50 = between (Text Box) A51 = and (Text Box) A52 = Currency (drop down) A53 = Division into lots (Option) (Yes / No) A54 = Quantity of lots (Text Box)
Section II.5:
A55 = CPV Button (Button) A56 = Main vocabulary (Array of Text Boxes) A57 = Supplementary vocabulary (Array of Text Boxes) A58 = VOC (Array of Voc Buttons)
Section II.6:
A59 = Start of award procedures (Date Text Box) A60 = Duration in months (Option) A61 = months (Text Box) A62 = Duration in days (Option) A63 = days (Text Box) A64 = or Scheduled date (Option) A65 = Start of works (Date Text Box) A66 = Completion of works (Date Text Box)
Section II.7:
A67 = Contract Covered By The Government Procurement Agreement (Option) (Yes / No)
Section II.8:
A68 = Additional Information (Text Area)
6.1.3.2 Constraints
Obligatory fields:
(A45<>null) and (A56<>null)
If (A54<>null) Then
For (i=1; i<=A54; i++)
Show Annex B
Else If (A54==null) Then
Hide Annex B
Field validation:
If (A47<>null) Then
A47=AnyDoubleNumber //Positive or Negative
If (A50<>null) Then
A50=AnyDoubleNumber //Positive or Negative
If (A51<>null) Then
A51=AnyDoubleNumber //Positive or Negative
If (A54<>null) Then
A54>0 //A54 must be a positive Integer
If (A61<>null) Then
A61=AnyNumber //Integer or Double
If (A63<>null) Then
A63=AnyNumber //Integer or Double
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 46 of 98
If (A59<>null) Then
A59=ValidDate(dd/mm/yyyy) or A59=ValidDate(ddmmyyyy)
If (A65<>null) Then
A65=ValidDate(dd/mm/yyyy) or A65=ValidDate(ddmmyyyy)
If (A66<>null) Then
A66=ValidDate(dd/mm/yyyy) or A66=ValidDate(ddmmyyyy)
Mutually exclusive fields:
If (A46=true) Then
A49=false
Else If (A49=true) Then
A46=false
If (A60=true) Then
A62=false
A64=false
Else If (A62=true) Then
A60=false
A64=false
Else If (A64=true) Then
A60=false
A62=false
Arithmetic comparisons:
If (A50<>null and A51<>null) Then
A50<A51
If (A65<>null and A66<>null) Then
A65<A66
Handle button pressing:
If (A43=pressed) Then
NutsSelector.Show
If (NutsSelector.SelectedNutsCode>0) Then
A42=NutsSelector.SelectedNutsCode
If (A55=pressed) Then
CPVSelector.Show
If (CPVSelector.NumberOfSelectedCPVCodes>0) Then
A56=Show
A57=Show
A58=Show
A56.Size=CPVSelector.NumberOfSelectedCPVCodes
A57.Size=CPVSelector.NumberOfSelectedCPVCodes
A58.Size=CPVSelector.NumberOfSelectedCPVCodes
For (i=0; i<A56.Size; i++)
A56[i]=CPVSelector.SelectedCPVCodes.get(i)
If (A58[i]=pressed) Then
VOCSelector.Show
If (VOCSelector.SelectedVocCodes>0) Then
A57[i]=VOCSelector.SelectedVocCodes
Enabled/Disabled fields:
If (A46=true) Then
A47=enable
A48=enable
A50=disable
A51=disable
A52=disable
Else If (A49=true) Then
A50=enable
A51=enable
A52=enable
A47=disable
A48= disable
If (A53=yes) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 47 of 98
A54=enable
Else If (A53=no) Then
A54=disable
If (A60=true) Then
A61=enable
A63=disable
A65=disable
A66=disable
Else If (A62=true) Then
A63=enable
A61=disable
A65=disable
A66=disable
Else If (A64=true) Then
A65=enable
A66=enable
A61=disable
A63=disable
6.1.4 SECTION II.B: Object of the Contract (Supplies or Services)
6.1.4.1 Form Fields
Section II.1:
A69 = Title Attributed To The Contract By The Contracting Authority (Text Box)
Section II.2 (Other fields):
A70 = Supplies (Option) A71 = Services (Option) A72 = Service category: No (drop down) (Values from 01 to 27)
Section II.2:
A73 = Main place of performance or of delivery (Text Box) A74 = NUTS Code (Text Box) A75 = Nuts Code Selector (Button)
Section II.3:
A76 = Short Description Of Nature And Quantity Or Value Of Supplies Or Services (Text Area)
A77 = Option1 (Option) A78 = Estimated cost excluding VAT (Text Box) A79 = Currency (drop down) A80 = Option2 (Option) A81 = between (Text Box) A82 = and (Text Box) A83 = Currency (drop down) A84 = Division into lots (Option) (Yes / No) A85 = Quantity of lots (Text Box)
Section II.4:
A86 = CPV Button (Button) A87 = Main vocabulary (Array of Text Boxes) A88 = Supplementary vocabulary (Array of Text Boxes) A89 = VOC (Array of Voc Buttons)
Section II.5:
A90 = Start of award procedures (Date Text Box)
Section II.6:
A91 = Contract Covered By The Government Procurement Agreement (Option) (Yes / No)
Section II.7:
A92 = Additional Information (Text Area)
6.1.4.2 Constraints
Obligatory fields:
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 48 of 98
(A76<>null) and (A87<>null)
If (A85<>null) Then
For (i=1; i<=A85; i++)
Show Annex B
Else If (A85==null) Then
Hide Annex B
Field validation:
If (A72<>null) Then
A72=List.SelectedValue //SelectedValue ∈ [01,27]
If (A78<>null) Then
A78=AnyDoubleNumber //Positive or Negative
If (A81<>null) Then
A81=AnyDoubleNumber //Positive or Negative
If (A82<>null) Then
A82=AnyDoubleNumber //Positive or Negative
If (A85<>null) Then
A85>0 //A85 must be a positive Integer
If (A90<>null) Then
A90=ValidDate(dd/mm/yyyy) or A90=ValidDate(ddmmyyyy)
Mutually exclusive fields:
If (A77=true) Then
A80=false
Else If (A80=true) Then
A77=false
Arithmetic comparisons:
If (A81<>null and A82<>null) Then
A81<A82
Handle button pressing:
If (A75=pressed) Then
NutsSelector.Show
If (NutsSelector.SelectedNutsCode>0) Then
A74=NutsSelector.SelectedNutsCode
If (A86=pressed) Then
CPVSelector.Show
If (CPVSelector.NumberOfSelectedCPVCodes>0) Then
A87=Show
A88=Show
A89=Show
A87.Size=CPVSelector.NumberOfSelectedCPVCodes
A88.Size=CPVSelector.NumberOfSelectedCPVCodes
A89.Size=CPVSelector.NumberOfSelectedCPVCodes
For (i=0; i<A87.size; i++)
A87[i]=CPVSelector.SelectedCPVCodes.get(i)
If (A89[i]=pressed) Then
VOCSelector.Show
If (VOCSelector.SelectedVocCodes>0) Then
A88[i]=VOCSelector.SelectedVocCodes
Enabled/Disabled fields:
If (A77=true) Then
A78=enable
A79=enable
A79=disable
A81=disable
A82=disable
A83=disable
Else If (A80=true) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 49 of 98
A81=enable
A82=enable
A83=enable
A78=disable
A79=disable
If (A84=yes) Then
A85=enable
Else If (A84=no) Then
A85=disable
Other constraints:
If (A2=true) Then
A70=true
A70=show
A71=hide
A72=hide
Else If (A3=true) Then
A70=hide
A71=true
A71=show
A72=show
A72<>null //A72 must be assigned a value ∈ [01,27]
6.1.5 SECTION III: Legal, Economic, Financial and Technical Information
6.1.5.1 Form Fields
Section III.1.1:
A93 = Main financing conditions and payment arrangements and/or reference to the relevant provisions regulating them (only in case of works) (Text Area)
Section III.2.1:
A94 = Reserved Contracts (Option) (Yes / No) A95 = The contract is restricted to sheltered workshops (check Box) A96 = The execution of the contract is restricted to the framework of sheltered employment
programmes (check Box)
6.1.5.2 Constraints
Enabled/Disabled fields:
If (A94=yes) Then
A95=enable
A96=enable
Else If (A94=no or A94==null) Then
A95=disable
A96=disable
Other constraints:
If (A1=true) Then
A93=show
Else If (A2=true or A3=true) Then
A93=hide
6.1.6 SECTION VI: Complementary information
6.1.6.1 Form Fields
Section VI.1:
A97 = Contract Related To A Project And/Or Programme Financed by Community Funds (Option) (Yes / No)
A98 = If yes, Reference to projects and/or programmes (Text Area)
Section VI.2:
A99 = Additional Information (Text Area)
Section VI.3:
A100 = Tax legislation (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 50 of 98
A101 = Environmental protection legislation (Text Box) A102 = Employment protection and working conditions (Text Box) A103 = Additional details, please fill Annex A.II-IV (check Box)
Section VI.4:
A104 = Date of Dispatch (Label)
6.1.6.2 Constraints
Obligatory fields:
A104<>null
A104=show
If (A97=yes) Then
A98<>null
Field validation:
A104=DateOfToday
If (A100<>null) Then
A100=ValidURL
If (A101<>null) Then
A101=ValidURL
If (A102<>null) Then
A102=ValidURL
Other constraints:
If (A103=true) Then
Show Annex A Section II
Show Annex A Section III
Show Annex A Section IV
Else If (A103=false) Then
Hide Annex A Section II
Hide Annex A Section III
Hide Annex A Section IV
6.1.7 ANNEX A
6.1.7.1 Form Fields Section I) Addresses And Contact Points From Which Further Information Can Be Obtained: A105 = Official Name (Text Box) A106 = Postal Address (Text Area) A107 = Town (Text box) A108 = Country (drop down) A109 = Postal code (Text box) A110 = Contact points (Text box) A111 = Telephone (Text Box) A112 = For the attention of (Text Box) A113 = Email (Text Box) A114 = Fax (Text Box) A115 = Internet address (URL) (Text Box) Section II) Address, Contact Points And Internet Site Of The Relevant Government Service From Which Information Can Be Obtained About Taxes: A116 = Official Name (Text Box) A117 = Postal Address (Text Area) A118 = Town (Text box) A119 = Country (drop down) A120 = Postal code (Text box) A121 = Contact points (Text box) A122 = Telephone (Text Box) A123 = For the attention of (Text Box) A124 = Email (Text Box) A125 = Fax (Text Box) A126 = Internet address (URL) (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 51 of 98
Section III) Address, Contact Point And Internet Site Of The Relevant Government Service From Which Information Can Be Obtained About Environmental Protection: A127 = Official Name (Text Box) A128 = Postal Address (Text Area) A129 = Town (Text box) A130 = Country (drop down) A131 = Postal code (Text box) A132 = Contact points (Text box) A133 = Telephone (Text Box) A134 = For the attention of (Text Box) A135 = Email (Text Box) A136 = Fax (Text Box) A137 = Internet address (URL) (Text Box) Section IV) Address, Contact Points And Internet Site Of The Relevant Government Service From Which Information Can Be Obtained About Employment Protection And Working Conditions: A138 = Official Name (Text Box) A139 = Postal Address (Text Area) A140 = Town (Text box) A141 = Country (drop down) A142 = Postal code (Text box) A143 = Contact points (Text box) A144 = Telephone (Text Box) A145 = For the attention of (Text Box) A146 = Email (Text Box) A147 = Fax (Text Box) A148 = Internet address (URL) (Text Box)
6.1.7.2 Constraints
Obligatory fields:
If (Annex A Section I.IsShowed) Then
(A105<>null) and (A106<>null) and (A107<>null) and (A108<>null)
Field validation:
If (A113<>null) Then
A113=ValidEmail
If (A124<>null) Then
A124=ValidEmail
If (A135<>null) Then
A135=ValidEmail
If (A146<>null) Then
A146=ValidEmail
If (A115<>null) Then
A115=ValidURL
If (A126<>null) Then
A126=ValidURL
If (A137<>null) Then
A137=ValidURL
If (A148<>null) Then
A148=ValidURL
6.1.8 ANNEX B: Information about Lots
6.1.8.1 Form Fields A149 = LOT No (Text Box) A150 = LOT Title (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 52 of 98
A151 = Short Description (Text Area) A152 = CPV (Button) A153 = Main vocabulary (Array of Text Boxes) A154 = Supplementary vocabulary (Array of Text Boxes) A155 = VOC (Array of Voc Buttons)
A156 = Quantity Or Scope (Text box) A157 = Option1 (Option) A158 = Estimated cost excluding VAT (Text Box) A159 = Currency (drop down) A160 = Option2 (Option) A161 = between (Text Box) A162 = and (Text Box) A163 = Currency (drop down)
A164 = Start of award procedures (Date Text Box) A165 = Duration in months (Option) A166 = months (Text Box) A167 = Duration in days (Option) A168 = days (Text Box) A169 = or Scheduled date (Option) A170 = Start of works (Date Text Box) A171 = Completion of works (Date Text Box)
A172 = Additional Information About Lots (Text Area)
6.1.8.2 Constraints
Obligatory fields:
A153<>null
Field validation:
If (A158<>null) Then
A158=AnyDoubleNumber //Positive or Negative
If (A161<>null) Then
A161=AnyDoubleNumber //Positive or Negative
If (A162<>null) Then
A162=AnyDoubleNumber //Positive or Negative
If (A164<>null) Then
A164=ValidDate(dd/mm/yyyy) or A164=ValidDate(ddmmyyyy)
If (A166<>null) Then
A166=AnyNumber //any Integer or Double
If (A168<>null) Then
A168=AnyNumber //any Integer or Double
If (A170<>null) Then
A170=ValidDate(dd/mm/yyyy) or A170=ValidDate(ddmmyyyy)
If (A171<>null) Then
A171=ValidDate(dd/mm/yyyy) or A171=ValidDate(ddmmyyyy)
Mutually exclusive fields:
If (A157=true) Then
A160=false
Else If (A160=true) Then
A157=false
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 53 of 98
If (A165=true) Then
A167=false
A169=false
Else If (A167=true) Then
A165=false
A169=false
Else If (A169=true) Then
A165=false
A167=false
Arithmetic comparisons:
If (A161<>null and A162<>null) Then
A161<A162
If (A170<>null and A171<>null) Then
A170<A171
Handle button pressing:
If (A152=pressed) Then
CPVSelector.Show
If (CPVSelector.NumberOfSelectedCPVCodes>0) Then
A153=Show
A154=Show
A155=Show
A153.size=CPVSelector.NumberOfSelectedCPVCodes
A154.size=CPVSelector.NumberOfSelectedCPVCodes
A155.size=CPVSelector.NumberOfSelectedCPVCodes
For (i=0; i<A153.size; i++)
A153[i]=CPVSelector.SelectedCPVCodes.get(i)
If (A155[i]=pressed) Then
VOCSelector.Show
If (VOCSelector.SelectedVocCodes>0) Then
A154[i]=VOCSelector.SelectedVocCodes
Enabled/Disabled fields:
If (A157=true) Then
A158=enable
A159=enable
A161=disable
A162=disable
A163=disable
Else If (A160=true) Then
A161=enable
A162=enable
A163=enable
A158=disable
A159=disable
If (A165=true) Then
A166=enable
A168=disable
A170=disable
A171=disable
Else If (A167=true) Then
A168=enable
A166=disable
A170=disable
A171=disable
Else If (A169=true) Then
A170=enable
A171=enable
A166=disable
A168=disable
6.1.9 Complementary SIMAP constraints
Estimated cost:
If (A47<>null) Then
A47>0 //a positive double number
If (A50<>null) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 54 of 98
A50>0 //a positive double number
If (A51<>null) Then
A51>0 //a positive double number
If (A50<>null) Then
A51<>null
If (A51<>null) Then
A50<>null
If (A78<>null) Then
A78>0 //a positive double number
If (A81<>null) Then
A81>0 //a positive double number
If (A82<>null) Then
A82>0 //a positive double number
If (A81<>null) Then
A82<>null
If (A82<>null) Then
A81<>null
If (A158<>null) Then
A158>0 //a positive double number
If (A161<>null) Then
A161>0 //a positive double number
If (A162<>null) Then
A162>0 //a positive double number
If (A161<>null) Then
A162<>null
If (A162<>null) Then
A161<>null
Duration:
If (A61<>null) Then
A61>0 //a positive number
If (A63<>null) Then
A63>0 //a positive number
If (A65<>null) Then
If (A59<>null) Then
A65>A59
If (A66<>null) Then
If (A59<>null) Then
A66>A59
If (A166<>null) Then
A166>0 //a positive number
If (A168<>null) Then
A168>0 //a positive number
If (A170<>null) Then
If (A164<>null) Then
A170>A164
If (A171<>null) Then
If (A164<>null) Then
A171>A164
Start of procedures:
If (A59<>null) Then
A59>DateOfToday
If (A90<>null) Then
A90>DateOfToday
If (A164<>null) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 55 of 98
A164>DateOfToday
6.2 Contract Notice
The Contract Notice is composed of the following eight sections:
• PRELIMINARY QUESTIONS
• SECTION I: CONTRACTING AUTHORITY
• SECTION II: OBJECT OF THE CONTRACT
• SECTION III: LEGAL, ECONOMIC, FINANCIAL AND TECHNICAL INFORMATION
• SECTION IV: PROCEDURE
• SECTION VI: COMPLEMENTARY INFORMATION
• ANNEX A
• ANNEX B
The following sub-sections identify the constraints of the aforementioned ePP form sections. Additionally, a number of constraints not addressed by the SIMAP ePP forms are provided, such as the validation of entered dates and negative values.
6.2.1 Preliminary Questions
6.2.1.1 Form Fields
Type of Contract:
A1 = (a) Works (Option) A2 = (b) Supplies (Option) A3 = (c) Services (Option)
Type of Procedure:
A4 = Open (Option) A5 = Restricted (Option) A6 = Accelerated restricted (Option) A7 = Negotiated (Option) A8 = Accelerated negotiated (Option) A9 = Competitive dialogue (Option)
The Accelerated restricted, Negotiated, Accelerated negotiated and Competitive dialogue type of procedures are excluded from the purpose of this documentation.
6.2.1.2 Constraints
Only one type of contract must be selected:
(A1=true) or (A2=true) or (A3=true)
If (A1=true) Then
A2=false
A3=false
Else If (A2=true) Then
A1=false
A3=false
Else If (A3=true) Then
A1=false
A2=false
Only one type of procedure must be selected:
(A4=true) or (A5=true) or (A6=true) or (A7=true) or (A8=true) or (A9=true)
If (A4=true) Then
A5=false
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 56 of 98
A6=false
A7=false
A8=false
A9=false
Else If (A5=true) Then
A4=false
A6=false
A7=false
A8=false
A9=false
Else If (A6=true) Then
A4=false
A5=false
A7=false
A8=false
A9=false
Else If (A7=true) Then
A4=false
A5=false
A6=false
A8=false
A9=false
Else If (A8=true) Then
A4=false
A5=false
A6=false
A7=false
A9=false
Else If (A9=true) Then
A4=false
A5=false
A6=false
A7=false
A8=false
6.2.2 SECTION I: Contracting Authority
6.2.2.1 Form Fields
Section I.1:
A10 = Official Name (Text Box) A11 = Postal Address (Text Area) A12 = Town (Text Box) A13 = Country (drop down) A14 = Postal code (Text Box) A15 = Contact points (Text Box) A16 = Telephone (Text Box) A17 = For the attention of (Text Box) A18 = Email (Text Box) A19 = Fax (Text Box) A20 = General address of the contracting authority url (Text Box) A21 = Address of the buyer profile url (Text Box) A22 = For further information, as in above mentioned contact point(s) (Option) A23 = For further information, other: please complete annex A.I. (Option) A24 = For specifications and additional documents, as in above mentioned contact point(s)
(Option) A25 = For specifications and additional documents, other: please complete annex A.II.
(Option) A26 = Tenders or requests to participate must be sent to, as in above mentioned contact
point(s) (Option) A27 = Tenders or requests to participate must be sent to, other: please complete annex A.III.
(Option)
Section I.2:
A28 = Ministry or any other national or federal authority, including their regional or local sub-divisions (Option)
A29 = National or federal agency/office (Option) A30 = Regional or local authority (Option) A31 = Regional or local agency/office (Option) A32 = Body governed by public law (Option)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 57 of 98
A33 = European institution/agency or international organisation (Option) A34 = Other (Option) A35 = please specify other (Text Box) A36 = General public services (check Box) A37 = Defence (check Box) A38 = Public order and safety (check Box) A39 = Environment (check Box) A40 = Economic and financial affairs (check Box) A41 = Health (check Box) A42 = Housing and community amenities (check Box) A43 = Social protection (check Box) A44 = Recreation, culture and religion (check Box) A45 = Education (check Box) A46 = Other (check Box) A47 = please specify other (Text Box) A48 = The contracting authority is purchasing on behalf of other contracting authorities
(Option) (Yes / No)
6.2.2.2 Constraints
Obligatory fields:
(A10<>null) and (A11<>null) and (A12<>null) and (A13<>null)
(A22<>null or A23<>null) and (A24<>null or A25<>null) and (A26<>null or A27<>null)
Field validation:
If (A18<>null) Then
A18=ValidEmail
If (A20<>null) Then
A20=ValidURL
If (A21<>null) Then
A16=ValidURL
Mutually exclusive fields:
If (A22=true) Then
A23=false
Else if (A23=true) Then
A22=false
IF (A24=true) Then
A25=false
Else if (A25=true) Then
A24=false
IF (A26=true) Then
A27=false
Else if (A27=true) Then
A26=false
Type of the contracting authority:
If (A28=true) Then
A29=false
A30=false
A31=false
A32=false
A33=false
A34=false
A35=disable
Else If (A29=true) Then
A28=false
A30=false
A31=false
A32=false
A33=false
A34=false
A35=disable
Else If (A30=true) Then
A28=false
A29=false
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 58 of 98
A31=false
A32=false
A33=false
A34=false
A35=disable
Else If (A31=true) Then
A28=false
A19=false
A30=false
A32=false
A33=false
A34=false
A35=disable
Else If (A32=true) Then
A28=false
A29=false
A30=false
A31=false
A33=false
A34=false
A35=disable
Else If (A33=true) Then
A28=false
A29=false
A30=false
A31=false
A32=false
A34=false
A35=disable
Else If (A34=true) Then
A28=false
A29=false
A30=false
A31=false
A32=false
A33=false
A35=enable
Activities:
If (A46=true) Then
A47=enable
Else If (A46=false) Then
A47=disable
Other constraints:
If (A23=true) Then
Show Annex A Section I
Else If (A23=false) Then
Hide Annex A Section I
If (A25=true) Then
Show Annex A Section II
Else If (A25=false) Then
Hide Annex A Section II
If (A27=true) Then
Show Annex A Section III
Else If (A27=false) Then
Hide Annex A Section III
6.2.3 SECTION II: Object of the Contract
6.2.3.1 Form Fields
Section II.1 – DESCRIPTION:
A49 = Title Attributed To The Contract By The Contracting Authority (Text Box)
Section II.1.2:
A50 = (a) Works (Option) A51 = Execution (Option) A52 = Design and execution (Option) A53 = Realisation, by whatever means of work, corresponding to the requirements specified
by the contracting authorities (Option) A54 = Main site or location of works (Text Area) A55 = NUTS code (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 59 of 98
A56 = Nuts Code Selector (Button)
Section II.1.3:
A57 = This Notice Involves: A Public Contract (Option) A58 = This Notice Involves: The setting up of a dynamic purchasing system (DPS) (Option) A59 = This Notice Involves: The establishment of a framework agreement (Option)
Section II.1.4:
A60 = Framework agreement with several operators (Option) A61 = Framework agreement with a single operator (Option) A62 = Number (Option) A63 = Number of operators (Text Box) A64 = Maximum number (Option) A65 = Maximum number of participants (Text Box) A66 = Duration of the framework agreement in year(s) (Option) A67 = Years (Text Box) A68 = Duration of the framework agreement in month(s) (Option) A69 = Months (Text Box) A70 = Justification for a framework agreement, the duration of which exceeds four years
(Text Area) A71 = Option1 (Option) A72 = Estimated value excluding VAT (Text Box) A73 = Currency (drop down) A74 = Option2 (Option) A75 = between (Text Box) A76 = and (Text Box) A77 = Currency (drop down) A78 = Frequency and value of the contracts to be awarded (Text Box)
Section II.1.5:
A79 = Short Description of the contract or purchase(s) (Text Area)
Section II.1.6:
A80 = CPV Button (Button) A81 = Main vocabulary (Array of Text Boxes) A82 = Supplementary vocabulary (Array of Text Boxes) A83 = VOC (Array of Voc Buttons)
Section II.1.7:
A84 = Contract Covered By The Government Procurement Agreement (Option) (Yes / No)
Section II.1.8:
A85 = Division into lots (Option) (Yes / No) A86 = Quantity of lots (Text Box) A87 = one lot only (Option) A88 = one or more lots (Option) A89 = all lots (Option)
Section II.1.9:
A90 = Variants will be accepted (Option) (Yes / No)
Section II.2 - QUANTITY OR SCOPE OF THE CONTRACT:
A91 = Total quantity or scope including all lots and options (Text Area) A92 = Option1 (Option) A93 = Estimated value excluding VAT (Text Box) A94 = Currency (drop down) A95 = Option2 (Option) A96 = between (Text Box) A97 = and (Text Box) A98 = Currency (drop down)
Section II.2.2:
A99 = Options (Option) (Yes / No) A100 = If yes, description of these options (Text Area) A101 = Provisional timetable for recourse to these options in months (Option) A102 = Provisional timetable for recourse to these options in days (Option)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 60 of 98
A103 = months (Text Box) A104 = days (Text Box) A105 = Number of possible renewals (Option) A106 = renewals number (Text Box) A107 = Or Range (Option) A108 = between (Text Box) A109 = and (Text Box)
Section II.3 - DURATION OF THE CONTRACT OR TIME-LIMIT FOR COMPLETION:
A110 = Duration in months (Option) A111 = months (Text Box) A112 = Duration in days (Option) A113 = days (Text Box) A114 = or Starting (Option) A115 = Starting date (Date Text Box) A116 = Completion date (Date Text Box)
6.2.3.2 Constraints
Obligatory fields:
(A79<>null) and (A81<>null)
If (A85=yes) Then
A86<>null
(A87=true) or (A88=true) or (A89=true)
If (A99=yes) Then
A100<>null
Field validation:
If (A63<>null) Then
A63=AnyNumber //any Integer or Double
If (A65<>null) Then
A65=AnyNumber //any Integer or Double
If (A67<>null) Then
A67=AnyNumber //any Integer or Double
If (A69<>null) Then
A69=AnyNumber //any Integer or Double
If (A72<>null) Then
A72=AnyDoubleNumber //Positive or Negative
If (A75<>null) Then
A75=AnyDoubleNumber //Positive or Negative
If (A76<>null) Then
A76=AnyDoubleNumber //Positive or Negative
If (A86<>null) Then
A86>0 //A86 must be a positive Integer
If (A93<>null) Then
A93=AnyDoubleNumber //Positive or Negative
If (A96<>null) Then
A96=AnyDoubleNumber //Positive or Negative
If (A97<>null) Then
A97=AnyDoubleNumber //Positive or Negative
If (A103<>null) Then
A103=AnyNumber //any Integer or Double
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 61 of 98
If (A104<>null) Then
A104=AnyNumber //any Integer or Double
If (A106<>null) Then
A106=AnyNumber //any Integer or Double
If (A108<>null) Then
A108=AnyNumber //any Integer or Double
If (A109<>null) Then
A109=AnyNumber //any Integer or Double
If (A111<>null) Then
A111=AnyNumber //any Integer or Double
If (A113<>null) Then
A113=AnyNumber //any Integer or Double
If (A115<>null) Then
A115=ValidDate(dd/mm/yyyy) or A115=ValidDate(ddmmyyyy)
If (A116<>null) Then
A116=ValidDate(dd/mm/yyyy) or A116=ValidDate(ddmmyyyy)
Mutually exclusive fields:
If (A51=true) Then
A52=false
A53=false
Else If (A52=true) Then
A51=false
A53=false
Else If (A53=true) Then
A51=false
A52=false
If (A57=true) Then
A58=false
A59=false
Else If (A58=true) Then
A57=false
A59=false
Else If (A59=true) Then
A57=false
A58=false
If (A60=true) Then
A61=false
Else If (A61=true) Then
A60=false
If (A62=true) Then
A64=false
Else If (A64=true) Then
A62=false
If (A66=true) Then
A68=false
Else If (A68=true) Then
A66=false
If (A71=true) Then
A74=false
Else If (A74=true) Then
A71=false
If (A87=true) Then
A88=false
A89=false
Else If (A88=true) Then
A87=false
A89=false
Else If (A89=true) Then
A87=false
A88=false
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 62 of 98
If (A92=true) Then
A95=false
Else If (A95=true) Then
A92=false
If (A101=true) Then
A102=false
Else If (A102=true) Then
A101=false
If (A105=true) Then
A107=false
Else If (A107=true) Then
A105=false
If (A110=true) Then
A112=false
A114=false
Else If (A112=true) Then
A110=false
A114=false
Else If (A114=true) Then
A110=false
A112=false
Arithmetic comparisons:
If (A75<>null and A76<>null) Then
A75<A76
If (A96<>null and A97<>null) Then
A96<A97
If (A108<>null and A109<>null) Then
A108<A109
If (A115<>null and A116<>null) Then
A115<A116
Handle button pressing:
If (A56=pressed) Then
NutsSelector.Show
If (NutsSelector.SelectedNutsCodes>0) Then
A55=NutsSelector.SelectedNutsCodes
If (A80=pressed) Then
CPVSelector.Show
If (CPVSelector.NumberOfSelectedCPVCodes>0) Then
A81=Show
A82=Show
A83=Show
A81.Size=CPVSelector.NumberOfSelectedCPVCodes
A82.Size=CPVSelector.NumberOfSelectedCPVCodes
A83.Size=CPVSelector.NumberOfSelectedCPVCodes
For (i=0; i<A81.size; i++)
A81[i]=CPVSelector.SelectedCPVCodes.get(i)
If (A83[i]=pressed) Then
VOCSelector.Show
If (VOCSelector.SelectedVocCodes>0) Then
A82[i]=VOCSelector.SelectedVocCodes
Enabled/Disabled fields:
If (A60=true) Then
A62=enable
A64=enable
Else If (A61=true) Then
A62=disable
A63=disable
A64=disable
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 63 of 98
A65=disable
If (A62=true) Then
A65=disable
A63=enable
Else If (A64=true) Then
A63=disable
A65=enable
If (A66=true) Then
A67=enable
A69=disable
Else If (A68=true) Then
A69=enable
A67=disable
If (A71=true) Then
A72=enable
A73=enable
A75=disable
A76=disable
A77=disable
Else If (A74=true) Then
A75=enable
A76=enable
A77=enable
A72=disable
A73=disable
If (A59=true) Then
A60=enable
A61=enable
A66=enable
A68=enable
A70=enable
A71=enable
A74=enable
A78=enable
Else If (A57=true or A58=true) Then
Section II.1.4=disable
If (A85=yes) Then
A86=enable
A87=enable
A88=enable
A89=enable
Else If (A85=no) Then
A86=disable
A87=disable
A88=disable
A89=disable
If (A92=true) Then
A93=enable
A94=enable
A96=disable
A97=disable
A98=disable
Else If (A95=true) Then
A96=enable
A97=enable
A98=enable
A93=disable
A94=disable
If (A99=yes) Then
A100=enable
A101=enable
A102=enable
A105=enable
A107=enable
Else If (A99=no) Then
A100=disable
A101=disable
A102=disable
A105=disable
A107=disable
A103=disable
A104=disable
A106=disable
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 64 of 98
A108=disable
A109=disable
If (A101=true) Then
A103=enable
A104=disable
Else If (A102=true) Then
A104=enable
A103=disable
If (A105=true) Then
A106=enable
A108=disable
A109=disable
Else If (A107=true) Then
A108=enable
A109=enable
A106=disable
If (A110=true) Then
A111=enable
A113=disable
A115=disable
A116=disable
Else If (A112=true) Then
A113=enable
A111=disable
A115=disable
A116=disable
Else If (A114=true) Then
A115=enable
A116=enable
A111=disable
A113=disable
6.2.4 SECTION III: Legal, Economic, Financial and Technical Information
6.2.4.1 Form Fields
Section III.1 – Conditions relating to the contract:
A117 = Deposits and guarantees required (Text Area) A118 = Main financing conditions and payment arrangements and/or reference to the relevant
provisions regulating them (Text Area) A119 = Legal form to be taken by the group of economic operators to whom the contract is to
be awarded (Text Area) A120 = Other particular conditions to which the performance of the contract is subject
(Option) (Yes / No) A121 = If yes, description of particular conditions (Text Area)
Section III.2 – Conditions for participation:
A122 = Information on personal situation of economic operators, including requirements relating to enrolment on professional or trade registers (Text Area)
A123 = Information on Economic and financial capacity (Text Area) A124 = Minimum level(s) of standards possibly required for Economic and financial capacity
(Text Area) A125 = Information on Technical capacity (Text Area) A126 = Minimum level(s) of standards possibly required for Technical capacity (Text Area) A127 = Reserved Contracts (Option) (Yes / No) A128 = The contract is restricted to sheltered workshops (checkbox) A129 = The execution of the contract is restricted to the framework of sheltered employment
programmes (checkbox)
6.2.4.2 Constraints
Obligatory fields:
If (A120=yes) Then A121<>null
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 65 of 98
Enabled/Disabled fields:
If (A120=yes) Then
A121=enable
Else If (A120=false) Then
A121=disable
If (A127=yes) Then
A128=enable
A129=enable
Else If (A127=false) Then
A128=disable
A129=disable
6.2.5 SECTION IV: Procedure
6.2.5.1 Form Fields
Section IV.1 – TYPE OF PROCEDURE:
A130 = Open (Option)
Section IV.2 – AWARD CRITERIA:
A131 = Lowest price (Option) A132 = The most economically advantageous tender in terms of (Option) A133 = the criteria stated below (Option) A134 = the criteria stated in the specifications (Option) A135 = Criteria (Array of Text Boxes, ArraySize=10) A136 = Weighting (Array of Text Boxes, ArraySize=10) A137 = An electronic auction will be used (Option) (Yes / No) A138 = If yes, additional information about electronic auction (Text Area)
Section IV.3 – ADMINISTRATIVE INFORMATION:
A139 = File reference number attributed by the contracting authority (Text Box)
Section IV.3.2:
A140 = Previous publication(s) concerning the same contract (Option) (Yes / No) A141 = If yes, Prior information notice (Option) A142 = If yes, Notice on a buyer profile (Option) A143 = Notice number in OJ: (Text Box) A144 = from (Text Box) A145 = to (Text Box) A146 = of (Date Text Box) A147 = Other previous publications (check Box) A148 = Table1 (Array of Text Boxes) A149 = Table2 (Array of Text Boxes) A150 = Table3 (Array of Text Boxes) A151 = Table4 (Array of Date Text Boxes) A152 = add (Hyperlink) A153 = delete (Array of “delete” Hyperlinks)
Selecting the A147 check-box triggers the creation of five dynamic tables (A148, A149, A150, A151 and A153) and the appearance of A152. When the A152 is clicked, a new line is added (i.e. the size of each table is increased by 1) and when the A153[i] is clicked, the i
th line is
removed (i.e. the size of each table is decreased by 1 and the ith object of each table is
removed).
Section IV.3.3:
A154 = Date limit (Date Text Box) A155 = Time limit (Text Box) A156 = Payable documents (Option) (Yes / No) A157 = If yes, price (Text Box) A158 = Currency (drop down) A159 = Terms and method of payment (Text Area)
Section IV.3.4 :
A160 = Date limit (Date Text Box) A161 = Time limit (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 66 of 98
Section IV.3.6:
A162 = ES (check Box) A163 = CS (check Box) A164 = DA (check Box) A165 = DE (check Box) A166 = ET (check Box) A167 = EL (check Box) A168 = EN (check Box) A169 = FR (check Box) A170 = IT (check Box) A171 = LV (check Box) A172 = LT (check Box) A173 = HU (check Box) A174 = MT (check Box) A175 = NL (check Box) A176 = PL (check Box) A177 = PT (check Box) A178 = SK (check Box) A179 = SL (check Box) A180 = FI (check Box) A181 = SV (check Box) A182 = Other (Text Box)
Section IV.3.7:
A183 = Option1 (Option) A184 = Until (Date Text Box) A185 = Option2 (Option) A186 = month(s) (Text Box) A187 = Option3 (Option) A188 = days (Text Box)
Section IV.3.8:
A189 = Date (Date Text Box) A190 = Time (Text Box) A191 = Place (Text Box) A192 = Persons authorised to be present at the opening of tenders (Option) (Yes / No) A193 = If yes (Text Area)
6.2.5.2 Constraints
Obligatory fields:
A160<>null
If (A132=true) Then
A133=true or A134=true
If (A133=true) Then
A135[1]<>null
A136[1]<>null
If (A137=yes) Then
A138<>null
If (A140=yes) Then
A141=true or A142=true
If (A141=true or A142=true) Then
A143<>null
A144<>null
A145<>null
A146<>null
If (A147=true) Then
A148[1]<>null
A149[1]<>null
A150[1]<>null
A151[1]<>null
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 67 of 98
If (A156=yes) Then
A157<>null
A158<>null
A159<>null
If (A192=yes) Then
A193<>null
Field validation:
For (i=0; i<10; i++)
If (A136[i]<>null) Then
A136[i]=AnyNumber //any Integer or Double
If (A143<>null) Then
A143=ValidNumber(DDDD) //D is a digit ∈ [0,9]
If (A144<>null) Then
A144=ValidNumber(DDD) //D is a digit ∈ [0,9]
If (A145<>null) Then
A145=ValidNumber(DDDDDD) //D is a digit ∈ [0,9]
If (A148[i]<>null) Then
A148[i]=ValidNumber(DDDD) //D is a digit ∈ [0,9]
If (A149[i]<>null) Then
A149[i]=ValidNumber(DDD) //D is a digit ∈ [0,9]
If (A150[i]<>null) Then
A150[i]=ValidNumber(DDDDDD) //D is a digit ∈ [0,9]
If (A146<>null) Then
A146=ValidDate(dd/mm/yyyy) or A146=ValidDate(ddmmyyyy)
If (A151[i]<>null) Then
A151[i]=ValidDate(dd/mm/yyyy) or A151[i]=ValidDate(ddmmyyyy)
If (A154<>null) Then
A154=ValidDate(dd/mm/yyyy) or A154=ValidDate(ddmmyyyy)
If (A155<>null) Then
A155=ValidTime(HH:MM) or A155=ValidTime(HHMM)
If (A156=yes) Then
A157=AnyDoubleNumber //Positive or Negative
If (A160<>null) Then
A160=ValidDate(dd/mm/yyyy) or A160=ValidDate(ddmmyyyy)
If (A161<>null) Then
A161=ValidTime(HH:MM) or A161=ValidTime(HHMM)
If (A184<>null) Then
A184= ValidDate(dd/mm/yyyy) or A184=ValidDate(ddmmyyyy)
If (A186<>null) Then
A186=AnyNumber //any Integer or Double
If (A188<>null) Then
A188=AnyNumber //any Integer or Double
If (A189<>null) Then
A189=ValidDate(dd/mm/yyyy) or A189=ValidDate(ddmmyyyy)
If (A190<>null) Then
A190= ValidTime(HH:MM) or A190=ValidTime(HHMM)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 68 of 98
Mutually exclusive fields:
If (A131=true) Then
A132=false
Else If (A132=true) Then
A131=false
If (A133=true) Then
A134=false
Else If (A134=true) Then
A133=false
If (A141=true) Then
A142=false
Else If (A142=true) Then
A141=false
If (A183=true) Then
A185=false
A187=false
Else If (A185=true) Then
A183=false
A187=false
Else If (A187=true) Then
A183=false
A185=false
Enabled/Disabled fields:
If (A131=true) Then
A133=disable
A134=disable
Else If (A132=true) Then
A133=enable
A134=enable
If (A133=true) Then
A135=enable
A136=enable
Else If (A134=true) Then
A135=disable
A136=disable
If (A137=yes) Then
A138=enable
Else If (A137=no) Then
A138=disable
If (A140=yes) Then
A141=enable
A142=enable
A147=enable
Else If (A140=no) Then
A141=disable
A142=disable
A147=disable
If (A141=true or A142=true) Then
A143=enable
A144=enable
A145=enable
A146=enable
If (A147=true) Then
A148=show
A149=show
A150=show
A151=show
A152=show
A153=show
A148.Size=A149.Size=A150.Size=A151.Size=A153.Size
Else If (A147=false)
A148=hide
A149=hide
A150=hide
A151=hide
A152=hide
A153=hide
If (A152=clicked) Then
A148.Size=A149.Size=A150.Size=A151.Size=A153.Size=Size++
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 69 of 98
i=A148.Size
A148[i]=show
A149[i]=show
A150[i]=show
A151[i]=show
A153[i]=show
If (A153[i]=clicked) Then
A148[i]=hide
A149[i]=hide
A150[i]=hide
A151[i]=hide
A153[i]=hide
A148.Size=A149.Size=A150.Size=A151.Size=A153.Size=Size--
If (A154<>null) Then
A155=enable
Else If (A154==null) Then
A155=disable
If (A156=yes) Then
A157=enable
A158=enable
A159=enable
Else If (A156=no) Then
A157=disable
A158=disable
A159=disable
If (A160<>null) Then
A161=enable
Else If (A160==null) Then
A161=disable
If (A183=true) Then
A184=enable
A186=disable
A188=disable
Else If (A185=true) Then
A186=enable
A184=disable
A188=disable
Else If (A187=true) Then
A182=enable
A184=disable
A188=disable
If (A189<>null) Then
A190=enable
Else If (A189==null) Then
A190=disable
If (A192=yes) Then
A193=enable
Else If (A192=no) Then
A193=disable
6.2.6 SECTION VI: Complementary information
6.2.6.1 Form Fields
Section VI.1:
A194 = This is a recurrent procurement (Option) (Yes / No) A195 = If yes, estimated timing for further notices to be published (Text Box)
Section VI.2:
A196 = Contract related to a project and/or programme financed by EU funds (Option) (Yes / No)
A197 = If yes, Reference to project(s) and/or programme(s) (Text Area)
Section VI.3:
A198 = Additional Information (Text Area)
Section VI.4.1:
A199 = Official name (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 70 of 98
A200 = Postal address (Text Area) A201 = Town (Text Box) A202 = Postal code (Text Box) A203 = Country (drop down) A204 = Email (Text Box) A205 = Telephone (Text Box) A206 = Fax (Text Box) A207 = Internet address (Text Box) A208 = Official name (Text Box) A209 = Postal address (Text Area) A210 = Town (Text Box) A211 = Postal code (Text Box) A212 = Country (drop down) A213 = Email (Text Box) A214 = Telephone (Text Box) A215 = Fax (Text Box) A216 = Internet address (Text Box)
Section VI.4.2:
A217 = Precise information on deadline(s) for lodging appeals (Text Area)
Section VI.4.3:
A218 = Official name (Text Box) A219 = Postal address (Text area) A220 = Town (Text Box) A221 = Postal code (Text Box) A222 = Country (drop down) A223 = Email (Text Box) A224 = Telephone (Text Box) A225 = Fax (Text Box) A226 = Internet address (Text Box)
Section VI.5:
A227 = Date Of Dispatch (Label)
6.2.6.2 Constraints
Obligatory fields:
A227<>null
A227=show
If (A194=yes) Then
A195<>null
If (A196=yes) Then
A197<>null
Field validation:
A227=DateOfToday
If (A204<>null) Then
A204=ValidEmail
If (A213<>null) Then
A213=ValidEmail
If (A223<>null) Then
A223=ValidEmail
If (A207<>null) Then
A207=ValidURL
If (A216<>null) Then
A216=ValidURL
If (A226<>null) Then
A226=ValidURL
Enabled/Disabled fields:
If (A194=yes) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 71 of 98
A195=enable
Else If (A194=no) Then
A195=disable
If (A196=yes) Then
A197=enable
Else If (A196=no) Then
A197=disable
6.2.7 ANNEX A
6.2.7.1 Form Fields
Section I) Addresses And Contact Points From Which Further Information Can Be Obtained:
A228 = Official Name (Text Box) A229 = Postal Address (Text Area) A230 = Town (Text box) A231 = Country (drop down) A232 = Postal code (Text box) A233 = Contact points (Text box) A234 = Telephone (Text Box) A235 = For the attention of (Text Box) A236 = Email (Text Box) A237 = Fax (Text Box) A238 = Internet address (URL) (Text Box)
Section II) Addresses And Contact Points From Which specifications and additional documents (including documents for competitive dialogue as well as a dynamic purchasing system) can be obtained:
A239 = Official Name (Text Box) A240 = Postal Address (Text Area) A241 = Town (Text box) A242 = Country (drop down) A243 = Postal code (Text box) A244 = Contact points (Text box) A245 = Telephone (Text Box) A246 = For the attention of (Text Box) A247 = Email (Text Box) A248 = Fax (Text Box) A249 = Internet address (URL) (Text Box)
Section III) Addresses And Contact Points To Which tenders/requests to participate must be sent:
A250 = Official Name (Text Box) A251 = Postal Address (Text Area) A252 = Town (Text box) A253 = Country (drop down) A254 = Postal code (Text box) A255 = Contact points (Text box) A256 = Telephone (Text Box) A257 = For the attention of (Text Box) A258 = Email (Text Box) A259 = Fax (Text Box) A260 = Internet address (URL) (Text Box)
6.2.7.2 Constraints
Obligatory fields:
If (Annex A Section I.IsShowed) Then
(A228<>null) and (A229<>null) and (A230<>null) and (A231<>null)
If (Annex A Section II.IsShowed) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 72 of 98
(A239<>null) and (A240<>null) and (A241<>null) and (A242<>null)
If (Annex A Section III.IsShowed) Then
(A250<>null) and (A251<>null) and (A252<>null) and (A253<>null)
Field validation:
If (A236<>null) Then
A236=ValidEmail
If (A247<>null) Then
A247=ValidEmail
If (A258<>null) Then
A258=ValidEmail
If (A238<>null) Then
A238=ValidURL
If (A249<>null) Then
A249=ValidURL
If (A260<>null) Then
A260=ValidURL
6.2.7.3 Complementary Form Fields
After validation of previous constraints, the ones below follow:
Section II.1.2 for Supplies:
A261 = Purchase (Option) A262 = Lease (Option) A263 = Rental (Option) A264 = Hire Purchase (Option) A265 = A combination of these (Option) A266 = Main place of delivery (Text Area)
Section II.2.2 for Supplies and Services:
A267 = Estimated timeframe for subsequent contracts in months (Option) A268 = Estimated timeframe for subsequent contracts in days (Option) A269 = months (Text Box) A270 = days (Text Box)
Section II.1.2 for Services:
A271 = Service category: No (drop down) A272 = Main place of performance (Text Area)
Section III.3:
A273 = Execution of the service is reserved to a particular profession (Option) (Yes / No) A274 = If yes, reference to the relevant law, regulation or administrative provision (Text Area) A275 = Legal entities should indicate the names and professional qualifications of the staff
responsible for the execution of the service (Option) (Yes / No)
Section IV.1.2:
A276 = Envisaged number of operators (Option) A277 = number (Text Box) A278 = Envisaged maximum number of operators (Option) A279 = minimum number (Text Box) A280 = maximum number (Text Box) A281 = Objective criteria for choosing the limited number of candidates (Text Area)
Section IV.3.5:
A282 = Date of dispatch of invitations to tender or to participate to selected candidates (Date Text Box)
A283 = (b) Supplies (Option) A284 = (c) Services (Option) A285 = Restricted (Option) A286 = Accelerated restricted (Option) A287 = Negotiated (Option) A288 = Accelerated negotiated (Option)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 73 of 98
A289 = Competitive dialogue (Option)
6.2.7.4 Constraints
Obligatory fields:
If (A273=yes) Then
A274<>null
If (A1=true) Then
A50=true
A50=show
Else If (A2=true) Then
A283=true
A283=show
Else If (A3=true) Then
A284=true
A284=show
Field validation:
If (A269<>null) Then
A269=AnyNumber //any Integer or Double
If (A270<>null) Then
A270=AnyNumber //any Integer or Double
If (A277<>null) Then
A277=AnyNumber //any Integer or Double
If (A279<>null) Then
A279=AnyNumber //any Integer or Double
If (A280<>null) Then
A280=AnyNumber //any Integer or Double
If (A279<>null and A280<>null) Then
A279<A280
If (A282<>null) Then
A282= ValidDate(dd/mm/yyyy) or A282=ValidDate(ddmmyyyy)
Mutually Exclusive fields:
If (A261=true) Then
A262=false
A263=false
A264=false
A265=false
Else If (A262=true) Then
A261=false
A263=false
A264=false
A265=false
Else If (A263=true) Then
A261=false
A262=false
A264=false
A265=false
Else If (A264=true) Then
A261=false
A262=false
A263=false
A265=false
Else If (A265=true) Then
A261=false
A262=false
A263=false
A264=false
If (A267=true) Then
A268=false
Else If (A268=true) Then
A267=false
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 74 of 98
If (A276=true) Then
A278=false
Else If (A278=true) Then
A276=false
Enabled/Disabled fields:
If (A267=true) Then
A269=enable
A270=disable
Else If (A268=true) Then
A270=enable
A269=disable
If (A99=yes) Then
A267=enable
A268=enable
Else If (A99=no) Then
A267=disable
A268=disable
A269=disable
A270=disable
If (A273=yes) Then
A274=enable
Else If (A273=no) Then
A274=disable
If (A276=true) Then
A277=enable
A279=disable
A280=disable
Else If (A278=true) Then
A279=enable
A280=disable
A277=disable
If (A279<>null) Then
A280=enable
Other constraints:
If (A1=true) Then
A50=true
A50=show
A51=show
A52=show
A53=show
A54=show
A261=hide
A262=hide
A263=hide
A264=hide
A265=hide
A266=hide
A271=hide
A272=hide
Else If (A2=true) Then
A50=hide
A51=hide
A52=hide
A53=hide
A54=hide
A283=true
A283=show
A261=show
A262=show
A263=show
A264=show
A265=show
A266=show
A271=hide
A272=hide
A284=hide
Else If (A3=true) Then
A50=hide
A51=hide
A52=hide
A53=hide
A54=hide
A283=hide
A261=hide
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 75 of 98
A262=hide
A263=hide
A264=hide
A265=hide
A266=hide
A284=true
A284=show
A271=show
A272=show
If (A4=true) Then
A130=true
A130=show
A285=hide
A286=hide
A287=hide
A288=hide
A289=hide
Else If (A5=true) Then
A285=true
A285=show
A130=hide
A286=hide
A287=hide
A288=hide
A289=hide //the other types of procedures haven’t been examined
If (A1=true) Then
A267=hide
A268=hide
A269=hide
A270=hide
Else If (A2=true or A3=true) Then
A267=show
A268=show
A269=show
A270=show
If (A3=true) Then
Show Section III.3
Else If (A1=true or A2=true) Then
Hide Section III.3
If (A4=true) Then
Hide Section IV.1.2
Else If (A5=true) Then
Show Section IV.1.2
If (A5=true) Then
Show Section IV.3.5
Hide Section IV.3.7
Hide Section IV.3.8
Else If (A4=true) Then
Hide Section IV.3.5
Show Section IV.3.7
Show Section IV.3.8
6.2.8 ANNEX B: Information about Lots
6.2.8.1 Form Fields A290 = LOT No (Text Box) A291 = LOT Title (Text Box) A292 = Short Description (Text Area) A293 = CPV (Button) A294 = Main vocabulary (Array of Text Boxes) A295 = Supplementary vocabulary (Array of Text Boxes) A296 = VOC (Array of Voc Buttons) A297 = Quantity Or Scope (Text box) A298 = Option1 (Option) A299 = Estimated cost excluding VAT (Text Box) A300 = Currency (drop down) A301 = Option2 (Option) A302 = between (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 76 of 98
A303 = and (Text Box) A304 = Currency (drop down) A305 = Duration in months (Option) A306 = months (Text Box) A307 = Duration in days (Option) A308 = days (Text Box) A309 = or Starting (Option) A310 = Start date (Date Text Box) A311 = Completion date (Date Text Box) A312 = Additional Information About Lots (Text Area)
6.2.8.2 Constraints
Obligatory fields:
A294<>null
Field validation:
If (A306<>null) Then
A306=AnyNumber //any Integer or Double
If (A308<>null) Then
A308=AnyNumber //any Integer or Double
If (A299<>null) Then
A299=AnyDoubleNumber //Positive or Negative
If (A302<>null) Then
A302=AnyDoubleNumber //Positive or Negative
If (A303<>null) Then
A303=AnyDoubleNumber //Positive or Negative
If (A310<>null) Then
A310=ValidDate(dd/mm/yyyy) or A310=ValidDate(ddmmyyyy)
If (A311<>null) Then
A311=ValidDate(dd/mm/yyyy) or A311=ValidDate(ddmmyyyy)
Mutually exclusive fields:
If (A298=true) Then
A301=false
Else If (A301=true) Then
A298=false
If (A305=true) Then
A307=false
A309=false
Else If (A307=true) Then
A305=false
A309=false
Else If (A309=true) Then
A305=false
A307=false
Arithmetic comparisons:
If (A302<>null and A303<>null) Then
A302<A303
Handle button pressing:
If (A293=pressed) Then
CPVSelector.Show
If (CPVSelector.NumberOfSelectedCPVCodes>0) Then
A294=Show
A295=Show
A296=Show
A294.size=CPVSelector.NumberOfSelectedCPVCodes
A295.size=CPVSelector.NumberOfSelectedCPVCodes
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 77 of 98
A296.size=CPVSelector.NumberOfSelectedCPVCodes
For (i=0; i<A294.size; i++)
A294[i]=CPVSelector.SelectedCPVCodes.get(i)
If (A296[i]=pressed) Then
VOCSelector.Show
If (VOCSelector.SelectedVocCodes>0) Then
A295[i]=VOCSelector.SelectedVocCodes
Enabled/Disabled fields:
If (A298=true) Then
A299=enable
A300=enable
A302=disable
A303=disable
A304=disable
Else If (A301=true) Then
A302=enable
A303=enable
A304=enable
A299=disable
A300=disable
If (A305=true) Then
A306=enable
A308=disable
A310=disable
A311=disable
Else If (A307=true) Then
A308=enable
A306=disable
A310=disable
A311=disable
Else If (A309=true) Then
A310=enable
A311=enable
A306=disable
A308=disable
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 78 of 98
6.2.9 Complementary SIMAP constraints
Estimated cost:
If (A72<>null) Then
A72>0 //a positive double number
If (A75<>null) Then
A75>0 //a positive double number
If (A76<>null) Then
A76>0 //a positive double number
If (A75<>null) Then
A76<>null
If (A76<>null) Then
A75<>null
If (A93<>null) Then
A93>0 //a positive double number
If (A96<>null) Then
A96>0 //a positive double number
If (A97<>null) Then
A97>0 //a positive double number
If (A96<>null) Then
A97<>null
If (A97<>null) Then
A96<>null
If (A299<>null) Then
A299>0 //a positive double number
If (A302<>null) Then
A302>0 //a positive double number
If (A303<>null) Then
A303>0 //a positive double number
If (A302<>null) Then
A303<>null
If (A303<>null) Then
A302<>null
Duration:
If (A67<>null) Then
A67>0 //a positive number
If (A69<>null) Then
A69>0 //a positive number
If (A103<>null) Then
A103>0 //a positive number
If (A104<>null) Then
A104>0 //a positive number
If (A111<>null) Then
A111>0 //a positive number
If (A113<>null) Then
A113>0 //a positive number
If (A115<>null) Then
A116<>null
If (A116<>null) Then
A115<>null
If (A186<>null) Then
A186>0 //a positive number
If (A188<>null) Then
A188>0 //a positive number
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 79 of 98
If (A269<>null) Then
A269>0 //a positive number
If (A270<>null) Then
A270>0 //a positive number
If (A306<>null) Then
A306>0 //a positive number
If (A308<>null) Then
A308>0 //a positive number
If (A310<>null) Then
A311<>null
If (A311<>null) Then
A310<>null
Dates of procedures:
If (A146<>null) Then
A146<DateOfToday
If (A151[i]<>null) Then
A151[i]<DateOfToday
If (A154<>null) Then
A154>DateOfToday
If (A160<>null) Then
A160>DateOfToday
If (A184<>null) Then
A184>DateOfToday
If (A189<>null) Then
A189>DateOfToday
If (A189<>null) Then
A189>=A160
If (A310<>null) Then
A310>DateOfToday
Other:
If (A63<>null) Then
A63>1 //A63 should be a positive(>1) Integer number
If (A65<>null) Then
A65>1 //A65 should be a positive(>1) Integer number
If (A106<>null) Then
A106>=0 //A106 should be a positive(>=0) Integer number
If (A108<>null) Then
A109<>null
If (A109<>null) Then
A108<>null
If (A108<>null) Then
A108>=0 //A108 should be a positive(>=0) Integer number
If (A109<>null) Then
A109>0 //A109 should be a positive Integer number
If (A277<>null) Then
A277>0 //A277 should be a positive Integer number
If (A279<>null) Then
A279>0 //A279 should be a positive Integer number
If (A280<>null) Then
A280>0 //A280 should be a positive Integer number
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 80 of 98
For (i=0; i<10; i++)
If (A135[i]<>null) Then
A136[i]<>null
6.3 Contract Award Notice
The Contract Award Notice is composed of the following eight sections:
• PRELIMINARY QUESTIONS
• SECTION I: CONTRACTING AUTHORITY
• SECTION II: OBJECT OF THE CONTRACT
• SECTION IV: PROCEDURE
• SECTION V: AWARD OF CONTRACT
• SECTION VI: COMPLEMENTARY INFORMATION
• ANNEX C
• ANNEX D
The following sub-sections identify the constraints of the aforementioned ePP form sections. Additionally, a number of constraints not addressed by the SIMAP ePP forms are provided, such as the validation of entered dates and negative values. Annex C and D do not concern any constraints as they are composed of static text i.e. photos.
6.3.1 Preliminary Questions
6.3.1.1 Form Fields
Type of Contract:
A1 = (a) Works (Option) A2 = (b) Supplies (Option) A3 = (c) Services (Option)
Type of Procedure:
A4 = Open (Option) A5 = Restricted (Option) A6 = Accelerated restricted (Option) A7 = Competitive dialogue (Option) A8 = Negotiated with a call for competition (Option) A9 = Accelerated negotiated (Option) A10 = Negotiated with a call for competition (Option) A11 = Quantity in section V (Text box)
6.3.1.2 Constraints
Only one type of contract must be selected:
(A1=true) or (A2=true) or (A3=true)
If (A1=true) Then
A2=false
A3=false
Else If (A2=true) Then
A1=false
A3=false
Else If (A3=true) Then
A1=false
A2=false
Only one type of procedure must be selected:
(A4=true) or (A5=true) or (A6=true) or (A7=true) or (A8=true) or (A9=true) or (A10=true)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 81 of 98
If (A4=true) Then
A5=false
A6=false
A7=false
A8=false
A9=false
A10=false
Else If (A5=true) Then
A4=false
A6=false
A7=false
A8=false
A9=false
A10=false
Else If (A6=true) Then
A4=false
A5=false
A7=false
A8=false
A9=false
A10=false
Else If (A7=true) Then
A4=false
A5=false
A6=false
A8=false
A9=false
A10=false
Else If (A8=true) Then
A4=false
A5=false
A6=false
A7=false
A9=false
A10=false
Else If (A9=true) Then
A4=false
A5=false
A6=false
A7=false
A8=false
A10=false
Else If (A10=true) Then
A4=false
A5=false
A6=false
A7=false
A8=false
A9=false
Field validation
A11<>null
A11>0 //A11 must be a positive Integer number
For (i=1; i<=A11; i++)
Show Section V
Other constraints
If (A1=true) Then
A46=true
Show Section II1.2.a
Hide Section II1.2.b
Hide Section II1.2.c
Else If (A2=true) Then
A53=true
Show Section II1.2.b
Hide Section II1.2.a
A51=show
A52=show
Hide Section II1.2.c
Else If (A3=true) Then
A60=true
Show Section II1.2.c
Hide Section II1.2.a
A51=show
A52=show
Hide Section II1.2.b
If (A4=true) Then
A85=true
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 82 of 98
A85=show
A86=hide
A87=hide
A88=hide
A89=hide
A90=hide
A91=hide
Else If (A5=true) Then
A85=hide
A86=true
A86=show
A87=hide
A88=hide
A89=hide
A90=hide
A91=hide
Else If (A6=true) Then
A85=hide
A86=hide
A87=true
A87=show
A88=hide
A89=hide
A90=hide
A91=hide
Else If (A7=true) Then
A85=hide
A86=hide
A87=hide
A88=true
A88=show
A89=hide
A90=hide
A91=hide
Else If (A8=true) Then
A85=hide
A86=hide
A87=hide
A88=hide
A89=true
A89=show
A90=hide
A91=hide
Else If (A9=true) Then
A85=hide
A86=hide
A87=hide
A88=hide
A89=hide
A90=true
A90=show
A91=hide
Else If (A10=true) Then
A85=hide
A86=hide
A87=hide
A88=hide
A89=hide
A90=hide
A91=true
A91=show
6.3.2 SECTION I: Contracting Authority
6.3.2.1 Form Fields
Section I.1:
A12 = Official Name (Text Box) A13 = Postal Address (Text Area) A14 = Town (Text Box) A15 = Country (drop down) A16 = Postal code (Text Box) A17 = Contact points (Text Box) A18 = Telephone (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 83 of 98
A19 = For the attention of (Text Box) A20 = Email (Text Box) A21 = Fax (Text Box) A22 = General address of the contracting authority url (Text Box) A23 = Address of the buyer profile url (Text Box)
Section I.2:
A24 = Ministry or any other national or federal authority, including their regional or local sub-divisions (Option)
A25 = National or federal agency/office (Option) A26 = Regional or local authority (Option) A27 = Regional or local agency/office (Option) A28 = Body governed by public law (Option) A29 = European institution/agency or international organisation (Option) A30 = Other (Option) A31 = please specify other (Text Box) A32 = General public services (check Box) A33 = Defence (check Box) A34 = Public order and safety (check Box) A35 = Environment (check Box) A36 = Economic and financial affairs (check Box) A37 = Health (check Box) A38 = Housing and community amenities (check Box) A39 = Social protection (check Box) A40 = Recreation, culture and religion (check Box) A41 = Education (check Box) A42 = Other (check Box) A43 = please specify other (Text Box) A44 = The contracting authority is purchasing on behalf of other contracting authorities (Option) (Yes /
No)
6.3.2.2 Constraints
Obligatory fields:
(A12<>null) and (A13<>null) and (A14<>null) and (A15<>null)
Field validation:
If (A20<>null) Then
A20=ValidEmail
If (A22<>null) Then
A22=ValidURL
If (A23<>null) Then
A23=ValidURL
Type of the contracting authority:
If (A24=true) Then
A25=false
A26=false
A27=false
A28=false
A29=false
A30=false
A31=disable
Else If (A25=true) Then
A24=false
A26=false
A27=false
A28=false
A29=false
A30=false
A31=disable
Else If (A26=true) Then
A25=false
A24=false
A27=false
A28=false
A29=false
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 84 of 98
A30=false
A31=disable
Else If (A27=true) Then
A25=false
A26=false
A24=false
A28=false
A29=false
A30=false
A31=disable
Else If (A28=true) Then
A25=false
A26=false
A27=false
A24=false
A29=false
A30=false
A31=disable
Else If (A29=true) Then
A25=false
A26=false
A27=false
A28=false
A24=false
A30=false
A31=disable
Else If (A30=true) Then
A25=false
A26=false
A27=false
A28=false
A29=false
A24=false
A31=enable
Activities:
If (A42=true) Then
A43=enable
Else If (A42=false) Then
A43=disable
6.3.3 SECTION II: Object of the Contract
6.3.3.1 Form Fields
Section II.1 – DESCRIPTION:
A45 = Title Attributed To The Contract By The Contracting Authority (Text Box)
Section II.2a:
A46 = (a) Works (Option) A47 = Execution (Option) A48 = Design and execution (Option) A49 = Realisation, by whatever means of work, corresponding to the requirements specified by the
contracting authorities (Option) A50 = Main site or location of works (Text Area) A51 = NUTS Code (Text Box) A52 = Nuts Code Selector (Button)
Section II.2b:
A53 = (b) Supplies (Option) A54 = Purchase (Option) A55 = Lease (Option) A56 = Rental (Option) A57 = Hire Purchase (Option) A58 = A combination of these (Option) A59 = Main place of delivery (Text Area)
Section II.2c:
A60 = (c) Services (Option) A61 = Service category: No (drop down) (Values from 01 to 27) A62 = In case of contract for service categories 17 to 27 see annex c, do you agree to the publication
of this notice (Option) (Yes / No) A63 = Main place of performance (Text Area)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 85 of 98
Section II1.3:
A64 = The conclusion of a framework agreement (Option) A65 = Contracts based on a dynamic purchasing system (DPS) (Option)
Section II1.4:
A66 = Short Description of the contract or purchase(s) (Text Area)
Section II1.5:
A67 = CPV (Button) A68 = Main vocabulary (Array of Text Boxes) A69 = Supplementary vocabulary (Array of Text Boxes) A70 = VOC (Array of Voc Buttons)
Section II1.6:
A71 = Contract Covered By The Government Procurement Agreement (Option) (Yes / No)
Section II.2 - TOTAL FINAL VALUE OF CONTRACT(S):
A72 = Option1 (Option) A73 = Value (Text Box) A74 = Currency (drop down) A75 = Excluding VAT (Option) A76 = Including VAT (Option) A77 = VAT rate (Text Box) A78 = Option2 (Option) A79 = Lowest (Text Box) A80 = Highest (Text Box) A81 = Currency (drop down) A82 = Excluding VAT (Option) A83 = Including VAT (Option) A84 = VAT rate (Text Box)
6.3.3.2 Constraints
Obligatory fields:
(A66<>null) and (A68<>null)
If (A1=true) Then
A46=true
Else If (A2=true) Then
A53=true
Else If (A3=true) Then
A60=true
Field validation:
If (A61<>null) Then
A61=List.SelectedValue //SelectedValue ∈ [01,27]
If (A73<>null) Then
A73=AnyDoubleNumber //Positive or Negative
If (A79<>null) Then
A79=AnyDoubleNumber //Positive or Negative
If (A80<>null) Then
A80=AnyDoubleNumber //Positive or Negative
If (A77<>null) Then
0 <= A77 <= 100
If (A84<>null) Then
0 <= A84 <= 100
Mutually exclusive fields:
If (A47=true) Then
A48=false
A49=false
Else If (A48=true) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 86 of 98
A47=false
A49=false
Else If (A49=true) Then
A47=false
A48=false
If (A54=true) Then
A55=false
A56=false
A57=false
A58=false
Else If (A55=true) Then
A54=false
A56=false
A57=false
A58=false
Else If (A56=true) Then
A55=false
A54=false
A57=false
A58=false
Else If (A57=true) Then
A55=false
A56=false
A54=false
A58=false
Else If (A58=true) Then
A55=false
A56=false
A57=false
A54=false
If (A64=true) Then
A65=false
If (A65=true) Then
A64=false
If (A72=true) Then
A78=false
If (A78=true) Then
A72=false
If (A75=true) Then
A76=false
Else If (A76=true) Then
A75=false
If (A82=true) Then
A83=false
Else If (A83=true) Then
A82=false
Arithmetic comparisons:
If (A80<>null and A79<>null) Then
A80>A79
Handle button pressing:
If (A52=pressed) Then
NutsSelector.Show
If (NutsSelector.SelectedNutsCode>0) Then
A51=NutsSelector.SelectedNutsCode
If (A67=pressed) Then
CPVSelector.Show
If (CPVSelector.NumberOfSelectedCPVCodes>0) Then
A68=Show
A69=Show
A70=Show
A68.Size=CPVSelector.NumberOfSelectedCPVCodes
A69.Size=CPVSelector.NumberOfSelectedCPVCodes
A70.Size=CPVSelector.NumberOfSelectedCPVCodes
For (i=0; i<A68.Size; i++)
A68[i]=CPVSelector.SelectedCPVCodes.get(i)
If (A70[i]=pressed) Then
VOCSelector.Show
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 87 of 98
If (VOCSelector.SelectedVocCodes>0) Then
A69[i]=VOCSelector.SelectedVocCodes
Enabled/Disabled fields:
If (A72=true) Then
A73=enable
A74=enable
A75=enable
A76=enable
A77=disable
A79=disable
A80=disable
A81=disable
A82=disable
A83=disable
A84=disable
Else If (A78=true) Then
A73=disable
A74=disable
A75=disable
A76=disable
A77=disable
A79=enable
A80=enable
A81=enable
A82=enable
A83=enable
If (A76=true) Then
A77=enable
Else If (A76=false) Then
A77=disable
If (A83=true) Then
A84=enable
Else If (A83=false) Then
A84=disable
If (A61.SelectedValue>=17 and A61.SelectedValue<=27) Then
A62=enable
If (A61.SelectedValue<17) Then
A62=disable
6.3.4 SECTION IV: Procedure
6.3.4.1 Form Fields
Section IV.1 – TYPE OF PROCEDURE:
A85 = Open (Option) A86 = Restricted (Option) A87 = Accelerated restricted (Option) A88 = Competitive dialogue (Option) A89 = Negotiated with a call for competition (Option) A90 = Accelerated negotiated (Option) A91 = Negotiated with a call for competition (Option)
Section IV2.1:
A92 = Lowest price (Option) A93 = The most economically advantageous tender in terms of (Option) A94 = Criteria (Array of Text Boxes, ArraySize=10) A95 = Weighting (Array of Text Boxes, ArraySize=10)
Section IV2.2:
A96 = An electronic auction was used (Option) (Yes / No)
Section IV3.1:
A97 = File reference number attributed by the contracting authority (Text Box)
Section IV3.2:
A98 = Previous publication(s) concerning the same contract (Option) (Yes / No)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 88 of 98
A99 = If yes, Prior information notice (Option) A100 = If yes, Notice on a buyer profile (Option) A101 = Notice Number in OJ: (Text Box) A102 = from (Text Box) A103 = to (Text Box) A104 = of (Date Text Box) A105 = If yes, Contract notice (Option) A106 = If yes, Simplified contract notice (Option) A107 = Notice Number in OJ: (Text Box) A108 = from (Text Box) A109 = to (Text Box) A110 = of (Date Text Box) A111 = Other previous publications (check Box) A112 = Table1 (Array of Text Boxes) A113 = Table2 (Array of Text Boxes) A114 = Table3 (Array of Text Boxes) A115 = Table4 (Array of Date Text Boxes) A116 = delete (Array of Hyperlinks, all are named “delete”) A117 = add (Hyperlink)
Selecting the A111 check-box triggers the creation of five dynamic tables (A112, A113, A114, A115 and A116) and the appearance of A117. When the A117 is clicked, a new line is added (i.e. the size of each table is increased by 1) and when the A116[i] is clicked, the i
th line is removed (i.e. the size of
each table is decreased by 1 and the ith object of each table is removed).
6.3.4.2 Constraints
Obligatory fields
If (A93=true) Then
A94[1]<>null
A95[1]<>null
If (A111=true) Then
A112[1]<>null
A113[1]<>null
A114[1]<>null
A115[1]<>null
Field validation:
For (i=0; i<10; i++)
If (A95[i]<>null) Then
A95[i]=AnyNumber //any Integer or Double
If (A101<>null) Then
A101=ValidNumber(DDDD) //D is a digit ∈ [0,9]
If (A102<>null) Then
A102=ValidNumber(DDD) //D is a digit ∈ [0,9]
If (A103<>null) Then
A103=ValidNumber(DDDDDD) //D is a digit ∈ [0,9]
If (A107<>null) Then
A107=ValidNumber(DDDD) //D is a digit ∈ [0,9]
If (A108<>null) Then
A108=ValidNumber(DDD) //D is a digit ∈ [0,9]
If (A109<>null) Then
A109=ValidNumber(DDDDDD) //D is a digit ∈ [0,9]
If (A112[i]<>null) Then
A112[i]=ValidNumber(DDDD) //D is a digit ∈ [0,9]
If (A113[i]<>null) Then
A113[i]=ValidNumber(DDD) //D is a digit ∈ [0,9]
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 89 of 98
If (A114[i]<>null) Then
A114[i]=ValidNumber(DDDDDD) //D is a digit ∈ [0,9]
If (A104<>null) Then
A104=ValidDate(dd/mm/yyyy) or A104=ValidDate(ddmmyyyy)
If (A110<>null) Then
A110=ValidDate(dd/mm/yyyy) or A110=ValidDate(ddmmyyyy)
If (A115[i]<>null) Then
A115[i]=ValidDate(dd/mm/yyyy) or A115[i]=ValidDate(ddmmyyyy)
Mutually exclusive fields:
If (A92=true) Then
A93=false
Else If (A93=true) Then
A92=false
Enabled/Disabled fields:
If (A92=true) Then
A94=disable
A95=disable
Else If (A93=true) Then
A94=enable
A95=enable
If (A99=true or A100=true) Then
A101=enable
A102=enable
A103=enable
A104=enable
If (A105=true or A106=true) Then
A107=enable
A108=enable
A109=enable
A110=enable
If (A98=yes) Then
A99=enable
A100=enable
A105=enable
A106=enable
A111=enable
Else If (A98=no) Then
A99=disable
A100=disable
A101=disable
A102=disable
A103=disable
A104=disable
A105=disable
A106=disable
A107=disable
A108=disable
A109=disable
A110=disable
A111=disable
If (A111=true) Then
A112=show
A113=show
A114=show
A115=show
A116=show
A117=show
A112.Size=A113.Size=A114.Size=A115.Size=A116.Size
Else If (A111=false) Then
A112=hide
A113=hide
A114=hide
A115=hide
A116=hide
A117=hide
If (A116[i]=clicked) Then
A112[i]=hide
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 90 of 98
A113[i]=hide
A114[i]=hide
A115[i]=hide
A116[i]=hide
A112.Size=A113.Size=A114.Size=A115.Size=A116.Size=Size--
If (A117=clicked) Then
A112.Size=A113.Size=A114.Size=A115.Size=A116.Size=Size++
i=A112.Size
A112[i]=show
A113[i]=show
A114[i]=show
A115[i]=show
A116[i]=show
6.3.5 SECTION V: Award of Contract
6.3.5.1 Form Fields A118 = Contract No (Text Box) A119 = Title (Text Box)
Section V.1:
A120 = Date Of Contract Award (Date Text Box)
Section V.2:
A121 = Number of offers Received (Text Box)
Section V.3:
A122 = Official Name (Text Box) A123 = Postal Address (Text Area) A124 = Town (Text Box) A125 = Country (drop down) A126 = Postal code (Text Box) A127 = Telephone (Text Box) A128 = Email (Text Box) A129 = Fax (Text Box) A130 = Internet Address (Text Box)
Section V.4:
A131 = Initial estimated total value of the contract (Text Box) A132 = Currency (drop down) A133 = Excluding VAT (Option) A134 = Including VAT (Option) A135 = VAT rate (Text Box) A136 = Option1 (Option) A137 = Value (Text Box) A138 = Currency (drop down) A139 = Excluding VAT (Option) A140 = Including VAT (Option) A141 = VAT rate (Text Box) A142 = Option2 (Option) A143 = Lowest (Text Box) A144 = Highest (Text Box) A145 = Currency (drop down) A146 = Excluding VAT (Option) A147 = Including VAT (Option) A148 = VAT rate (Text Box) A149 = Option3 (Option) A150 = Number of Years (Text Box) A151 = Option4 (Option) A152 = Number of Months (Text Box)
Section V.5:
A153 = The Contract is likely to be sub-contracted (Option) (Yes / No) A154 = Option5 (Option) A155 = Value excluding VAT (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 91 of 98
A156 = Currency (drop down) A157 = Option6 (Option) A158 = Proportion (Text Box) A159 = Option7 (Option) A160 = Not Known (check Box) A161 = Short Description (Text Area)
6.3.5.2 Constraints
Obligatory fields:
If (A153=yes) Then
A154=true or A157=true or A199=true
Field validation:
If (A120<>null) Then
A120=ValidDate(dd/mm/yyyy) or A120=ValidDate(ddmmyyyy)
If (A121<>null) Then
A121=AnyNumber //any Integer or Double
If (A128<>null) Then
A128=ValidEmail
If (A130<>null) Then
A130=ValidURL
If (A131<>null) Then
A131=AnyDoubleNumber //Positive or Negative
If (A135<>null) Then
0 <= A135 <= 100
If (A141<>null) Then
0 <= A141 <= 100
If (A148<>null) Then
0 <= A148 <= 100
If (A137<>null) Then
A137=AnyDoubleNumber //Positive or Negative
If (A143<>null) Then
A143=AnyDoubleNumber //Positive or Negative
If (A144<>null) Then
A144=AnyDoubleNumber //Positive or Negative
If (A150<>null) Then
A150=AnyNumber //Integer or Double
If (A152<>null) Then
A152=AnyNumber //Integer or Double
If (A155<>null) Then
A155=AnyDoubleNumber //Positive or Negative
If (A158<>null) Then
0<=A158<=100
Mutually exclusive fields:
If (A133=true) Then
A134=false
Else If (A134=true) Then
A133=false
If (A136=true) Then
A142=false
Else If (A142=true) Then
A136=false
If (A139=true) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 92 of 98
A140=false
Else If (A140=true) Then
A139=false
If (A146=true) Then
A147=false
Else If (A147=true) Then
A146=false
If (A149=true) Then
A151=false
Else If (A151=true) Then
A149=false
If (A154=true) Then
A157=false
A159=false
Else If (A157=true) Then
A154=false
A159=false
Else If (A159=true) Then
A154=false
A157=false
Arithmetic comparisons:
If (A143<>null and A144<>null) Then
A143<A144
Enabled/Disabled fields:
If (A154=true) Then
A155=enable
A156=enable
A158=disable
A160=disable
Else If (A157=true) Then
A158=enable
A155=disable
A156=disable
A160=disable
Else If (A159=true) Then
A160=enable
A155=disable
A156=disable
A158=disable
If (A133=true) Then
A135=disable
Else If (A134=true) Then
A135=enable
If (A139=true) Then
A141=disable
Else If (A140=true) Then
A141=enable
If (A146=true) Then
A148=disable
Else If (A147=true) Then
A148=enable
If (A136=true) Then
A137=enable
A138=enable
A139=enable
A140=enable
A143=disable
A144=disable
A145=disable
A146=disable
A147=disable
A148=disable
Else If (A142=true) Then
A143=enable
A144=enable
A145=enable
A146=enable
A147=enable
A137=disable
A138=disable
A139=disable
A140=disable
A141=disable
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 93 of 98
If (A149=true) Then
A150=enable
A152=disable
If (A151=true) Then
A152=enable
A150=disable
If (A153=yes) Then
A154=enable
A157=enable
A159=enable
A161=enable
A155=disable
A156=disable
A158=disable
A160=disable
Else If (A153=no) Then
A154=disable
A155=disable
A156=disable
A157=disable
A158=disable
A159=disable
A160=disable
A161=disable
6.3.6 SECTION VI: Complementary information
6.3.6.1 Form Fields
Section VI.1:
A162 = Contract Related To A Project And/Or Programme Financed by Community Funds (Option) (Yes / No)
A163 = If yes, Reference to projects and/or programmes (Text Area)
Section VI.2:
A164 = Additional Information (Text Area)
Section VI.3 Procedures for Appeal:
A165 = Official Name (Text Box) A166 = Postal Address (Text Area) A167 = Town (Text Box) A168 = Country (drop down) A169 = Postal code (Text Box) A170 = Telephone (Text Box) A171 = Email (Text Box) A172 = Fax (Text Box) A173 = Internet address (Text Box) A174 = Official Name (Text Box) A175 = Postal Address (Text Area) A176 = Town (Text Box) A177 = Country (drop down) A178 = Postal code (Text Box) A179 = Telephone (Text Box) A180 = Email (Text Box) A181 = Fax (Text Box) A182 = Internet address (Text Box)
Section VI.3.2:
A183 = Lodging of Appeals (Text Area)
Section VI.3.3:
A184 = Official Name (Text Box) A185 = Postal Address (Text Area) A186 = Town (Text Box) A187 = Country (drop down) A188 = Postal code (Text Box) A189 = Telephone (Text Box) A190 = Email (Text Box)
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 94 of 98
A191 = Fax (Text Box) A192 = Internet address (Text Box)
Section VI.4:
A193 = Date of Dispatch (Label)
6.3.6.2 Constraints
Obligatory fields:
A193<>null
A193=show
If (A162=yes) Then
A163<>null
Field validation:
A193=DateOfToday
If (A171<>null) Then
A171=ValidEmail
If (A173<>null) Then
A173=ValidURL
If (A180<>null) Then
A180=ValidEmail
If (A182<>null) Then
A182=ValidURL
If (A190<>null) Then
A190=ValidEmail
If (A192<>null) Then
A192=ValidURL
Enabled/Disabled fields:
If (A162=yes) Then
A163=enable
Else If (A162=no) Then
A163=disable
6.3.7 Complementary SIMAP constraints
Estimated cost:
If (A73<>null) Then
A73>0 //a positive double number
If (A79<>null) Then
A79>0 //a positive double number
If (A80<>null) Then
A80>0 //a positive double number
If (A79<>null) Then
A80<>null
If (A80<>null) Then
A79<>null
If (A131<>null) Then
A131>0 //a positive double number
If (A137<>null) Then
A137>0 //a positive double number
If (A143<>null) Then
A143>0 //a positive double number
If (A144<>null) Then
A144>0 //a positive double number
If (A143<>null) Then
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 95 of 98
A144<>null
If (A144<>null) Then
A143<>null
If (A155<>null) Then
A155>0 //a positive double number
Duration:
If (A150<>null) Then
A150>0 //a positive number
If (A152<>null) Then
A152>0 //a positive number
Dates of procedures:
If (A104<>null) Then
A104<DateOfToday
If (A110<>null) Then
A110<DateOfToday
If (A115[i]<>null) Then
A115[i]<DateOfToday
If (A120<>null) Then
A120<DateOfToday
Other:
If (A121<>null) Then
A121>=0 //A121 should be a positive Integer number
For (i=0; i<10; i++)
If (A94[i]<>null) Then
A95[i]<>null
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 96 of 98
PART V – REFERENCES
This part provides references for the report. It contains a bibliography.
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 97 of 98
BIBLIOGRAPHY
[1] "Official web-site of ELLECTRA-WeB in SourceForge.net", Sourceforge.net. http://sourceforge.net/projects/ellectra-web (last visited 2007).
[2] IBM, "WebSphere Studio Workbench". http://www-304.ibm.com/jct09002c/isv/websphere/workbench.html (last visited 2007).
[3] eclipse.org, "Eclipse platform". http://www.eclipse.org (last visited 2007).
[4] A. Bolour, "Notes on the Eclipse Plug-in Architecture", 2003. http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.html
[5] Eclipse.org, "Eclipse Modeling Framework Project (EMF)". http://www.eclipse.org/modeling/emf (last visited 2007).
[6] Eclipse.org, "Eclipse Java Development Tools (JDT)". http://www.eclipse.org/jdt (last visited 2007).
[7] Eclipse.org, "Plug-in Development Environment (PDE)". http://www.eclipse.org/pde (last visited 2007).
[8] J. Oldevik, T. Neple, R. Grønmo, J. Aagedal, and A.-J. Berre, "Toward Standardised Model to Text Transformations", vol. 3748/2005, SpringerLink, Lecture Notes in Computer Science (LNCS), 2005, ISBN: 978-3-540-30026-7.
[9] Eclipse.org, "Eclipse UML2 Project - Model Development Tools (MDT)". http://www.eclipse.org/modeling/mdt/?project=uml2 (last visited 2007).
[10] PAPYROUS, "PAPYROUS - Open Source Tool for Graphical UML2 Modelling". http://www.papyrusuml.org (last visited 2008).
[11] Eclipse.org, "OCL - Model Development Tools (MDT)". http://www.eclipse.org/modeling/mdt/?project=ocl#ocl (last visited 2007).
[12] Eclipse.org, "BPEL Project - Eclipse BPEL editor". http://www.eclipse.org/bpel (last visited 2008).
[13] IDABC, "IDABC guidelines, standards and Functional Requirements for eProcurement". http://europa.eu.int/idabc/en/document/4721/5874 (last visited 2007).
[14] Eclipse.org, "Web Tools Platform (WTP) Project". http://www.eclipse.org/webtools/main.php (last visited 2007).
[15] MODELWARE. http://www.modelware-ist.org (last visited 2007).
[16] MUSIC. http://www.ist-music.eu/MUSIC/tools-and-methods (last visited 2007).
[17] MADDAM. http://www.ist-madam.org (last visited 2007).
[18] ASSERT. http://www.assert-online.net (last visited 2007).
[19] OMG, "MOF Models to Text Transformation Language Final Adopted Specification", Object Management Group (OMG), Document, November 2006. www.omg.org/docs/ptc/06-11-01.pdf
[20] OMG, "MOF Query / Views / Transformations", Object Management Group (OMG), Document ptc/05-11-01, 2005. http://www.omg.org/cgi-bin/doc?ptc/2005-11-01
[21] G. K. Olsen and J. Oldevik, "Scenarios of Traceability in Model to Text Transformations", in Third European Conference on Model Driven Architecture Foundations and Applications (ECMDA'07). Haifa - Israel, 2007 (to appear).
[22] Tigris.org, "Subclipse - Open Source Software Engineering Tools". http://subclipse.tigris.org (last visited 2007).
[23] TEAM, "Tightening knowledge sharing in distributed software communities by applying semantic technologies". http://www.team-project.eu (last visited 2007).
[24] Tigris.org, "Subversion - Open Source Software Engineering Tools". http://subversion.tigris.org (last visited 2007).
[25] IDABC, "Software demonstrators for eProcurement". http://ec.europa.eu/idabc/en/document/3488/5874 (last visited
[26] Sun, "Enterprise JavaBeans Technology", Sun Microsystems. http://java.sun.com/products/ejb/ (last visited 2007).
[27] jboss.org, "JBoss - Application server". http://labs.jboss.com (last visited 2007).
Electronic Public Procurement Application Framework (1st release) ELLECTRA-WeB / Deliverable D10.1
ELLECTRA-WeB / 045153 12/05/2008
Copyright © ELLECTRA-WeB 2008 Page 98 of 98
[28] glassfish.dev.java.net, "Glassfish - Application server". https://glassfish.dev.java.net (last visited 2007).
[29] Sun, "Java Platform, Enterprise Edition (Java EE)", Sun Microsystems. http://java.sun.com/javaee/ (last visited 2007).
[30] MySQL AB, "MySQL". http://www.mysql.com/ (last visited 2007).
[31] apache.org, "Derby". http://db.apache.org/derby/ (last visited 2007).
[32] java.net, "Open ESB - The Open Enterprise Service Bus". https://open-esb.dev.java.net (last visited 2008).
[33] Active Endpoints, "ActiveBPEL". http://www.active-endpoints.com/active-bpel-engine-overview.htm (last visited 2007).
[34] OASIS, "OASIS Web Services Business Process Execution Language (WSBPEL) TC", OASIS. http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel (last visited 2007).
[35] Sourceforge.net, "Enterprise Java Bean Certificate Authotiry - EJBCA". http://ejbca.sourceforge.net (last visited 2008).
[36] wikipedia.org, "List of Java APIs". http://en.wikipedia.org/wiki/List_of_Java_APIs (last visited 2007).
[37] Sun, "JavaServer Pages Technology", Sun Microsystems. http://java.sun.com/products/jsp/ (last visited 2007).
[38] Sun, "JavaServer Faces Technology", Sun Microsystems. http://java.sun.com/javaee/javaserverfaces/ (last visited 2007).
[39] java.net, "JAX-WS". http://jax-ws.dev.java.net/ (last visited 2007).
[40] Sun, "Java Persistence API", Sun Microsystems. http://java.sun.com/javaee/technologies/persistence.jsp (last visited 2007).