Skip to content

Commit

Permalink
Merge pull request #780 from AmpersandTarski/development
Browse files Browse the repository at this point in the history
  • Loading branch information
hanjoosten authored May 10, 2018
2 parents 118ad01 + 3a1fde0 commit 79fea3c
Show file tree
Hide file tree
Showing 603 changed files with 23,913 additions and 187,307 deletions.
4 changes: 0 additions & 4 deletions .gitattributes

This file was deleted.

4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ miscellaneous/AmpersandBackup.jgfns
.settings/org.eclipse.php.core.prefs
/.stack-work
static/zwolle/lib/
# static/zwolle/app/bower_components/
static/zwolle/app/node_modules/
static/zwolle/app/lib
static/zwolle/node_modules/

\.ghci
19 changes: 10 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
#
dist: trusty
sudo: required
language: generic
language: php

php:
- 7.0

cache:
directories:
Expand All @@ -27,17 +30,15 @@ matrix:
include:
# The Stack builds. We can pass in arbitrary Stack arguments via the ARGS
# variable, such as using --stack-yaml to point to a different file.
- env: BUILD=stack GHCVER=8.0.2 STACK_YAML=stack.yaml
compiler: ": #stack 8.0.2"
addons: {apt: {packages: [ cabal-install-1.24
, ghc-8.0.2
, mysql-server-5.6
- env: BUILD=stack STACK_YAML=stack.yaml
compiler: ": #stack"
addons: {apt: {packages: [ mysql-server-5.6
, mysql-client-core-5.6
, mysql-client-5.6
]
,sources: [hvr-ghc]}}
- env: BUILD=stack GHCVER=8.0.2 STACK_YAML=stack.yaml osx
compiler: ": #stack 8.0.2"
- env: BUILD=stack STACK_YAML=stack.yaml osx
compiler: ": #stack"
os: osx


Expand Down Expand Up @@ -84,7 +85,7 @@ matrix:
- env: BUILD=cabal GHCVER=head CABALVER=head

# OSX builds currently (sept 2016) do not work, because PHP isn't available
- env: BUILD=stack GHCVER=8.0.2 STACK_YAML=stack.yaml osx
- env: BUILD=stack STACK_YAML=stack.yaml osx
- env: BUILD=cabal GHCVER=8.0.2 CABALVER=1.24 osx


Expand Down
132 changes: 132 additions & 0 deletions AmpersandData/FormalAmpersand/Interfaces_WIP.adl
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
CONTEXT "RAP" IN ENGLISH

META "authors" "Michiel Stornebrink"
META "authors" "Rieks Joosten"

{-
This file is the result of a working session on interfaces by Rieks and Michiel.
It contains the conceptual model of the current Ampersand interface implementation

The conceptual model below has some overlap with Interfaces.adl, but has a total different view/approach on how to model interfaces
* Primairy difference is that:
* Interfaces.adl distinguishes an Interface (root/entry) from an ObjectDef (recursive interface object definition)
* We only have Interface(s) (= ObjectDef) and have a property 'isRoot' to specify it is an root/entry interface

This file is work-in-progress
-}

CONCEPT Role ""
CONCEPT View ""
CONCEPT Txt ""
CLASSIFY Txt TYPE ALPHANUMERIC

--[INTERFACE]--------------------------------------------------------------------------------------
CONCEPT Interface "An interface is a mechanism that communicates data between different (two) contexts."

RELATION isRoot[Interface] [PROP]
MEANING "This property specifies if the interface is a top level interface, i.e. entry point"

RELATION isPublic[Interface] [PROP]
MEANING "This property specifies if the interface is considered a public interface, i.e. accessible for everyone"

RULE "An interface is public when it is a root interface that is not assigned to a role" : isPublic = isRoot-(for;for~)

RELATION for[Interface*Role]
MEANING "The interface is assigned to a role and thereby only accessible for this/these role(s)"

RULE "Only root interfaces can be assigned to a role" : I /\ for;for~ |- isRoot

RELATION label[Interface*Txt] [UNI,TOT]
MEANING "The textual representation of the interface as display in the user interface"

RELATION expr[Interface*Expression] [UNI,TOT]
MEANING "Specifies the interface expression"

RELATION view[Interface*View] [UNI]
MEANING "Specifies the view to be used for the target concept of the interface expression"

-- CRUD specification
RELATION crudC[Interface] [PROP]
MEANING "Specifies if create rights are given for the interface expression"

RELATION crudR[Interface] [PROP]
MEANING "Specifies if read rights are given for the interface expression"

RELATION crudU[Interface] [PROP]
MEANING "Specifies if update rights are given for the interface expression"

RELATION crudD[Interface] [PROP]
MEANING "Specifies if delete rights are given for the interface expression"

RULE I[Interface] = I[LeafIfc] \/ I[RefIfc] \/ I[BoxInterface]

--[LEAF INTERFACES]--------------------------------------------------------------------------------
CONCEPT LeafIfc ""
CLASSIFY LeafIfc ISA Interface

--[REFERENCE INTERFACES]---------------------------------------------------------------------------
CONCEPT RefIfc ""
CLASSIFY RefIfc ISA Interface

RELATION refTo [RefIfc*Interface] [UNI,TOT]
MEANING "Specifies the interface to which this reference interface refers to"

RULE "Reference interfaces must refer to root interfaces" : I /\ refTo~;refTo |- isRoot

RELATION isLinkTo [RefIfc] [PROP]
MEANING "Specifies if this interface links to the referred interface (i.e. in the UI the referred interface is not expanded)"

RULE "The target concept of a reference interface expression must have an object representation (i.e. not scalar)" : I[RefIfc];expr;tgt |-V;isObj

-- CRUD rights of reference interfaces must be the same as the CRUD right of the interface it refers to
RULE refTo;crudC |- crudC
RULE refTo;(I-crudC) |- I-crudC
RULE refTo;crudR |- crudR
RULE refTo;(I-crudR) |- I-crudR
RULE refTo;crudU |- crudU
RULE refTo;(I-crudU) |- I-crudU
RULE refTo;crudD |- crudD
RULE refTo;(I-crudD) |- I-crudD

--[BOX INTERFACES]---------------------------------------------------------------------------------
CONCEPT BoxIfc ""
CLASSIFY BoxIfc ISA Interface

RELATION subIfc[BoxIfc*Interface] [INJ]
MEANING "A box interface can consists of sub interfaces"

RULE "Sub interfaces of a box ifc cannot be root interfaces" : I /\ subIfc~;subIfc |- -isRoot

RELATION template[BoxIfc*BoxClass] [UNI,TOT]
MEANING "A box interface has a certain template of how to display it in the UI"

RULE "The target concept of a box interface expression must have an object representation (i.e. not scalar)" : I[BoxIfc];expr;tgt |-V;isObj

--[BOXCLASS]---------------------------------------------------------------------------------------
CONCEPT BoxClass ""
POPULATION BoxClass CONTAINS ["ROWS", "COLS", "TABS"]

--[EXPRESSION]-------------------------------------------------------------------------------------
RELATION isEditable[Expression] [PROP]
MEANING "Specifies if the expression is an editable expression (i.e. relation)"

RELATION src[Expression*Concept] [UNI,TOT]

RELATION tgt[Expression*Concept] [UNI,TOT]

--[CONCEPT]----------------------------------------------------------------------------------------
CONCEPT Concept ""

CONCEPT TType ""
POPULATION TType CONTAINS ["OBJECT", "ALPHANUMERIC", "BIGALPHANUMERIC", "INTEGER"] -- etc

RELATION represent[Concept*TType] [UNI,TOT]
MEANING "The technical type of the concept (specified by the REPRESENT statement in Ampersand script, defaults to OBJECT)"

RELATION isObj[Concept] [PROP]
MEANING "Specifies is a concept is represented as object, not scalar (i.e. TType = OBJECT)"

RULE isObj = I /\ (represent;'OBJECT';represent~)


ENDCONTEXT
7 changes: 7 additions & 0 deletions AmpersandData/SystemContext/SystemContext.adl
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ PATTERN SystemSpecific
{+De universele singleton+}
PURPOSE CONCEPT "ONE" IN ENGLISH
{+The universal singleton+}

-- The following rule is required for the access control mechanism. It ensures that only allowed roles can be activated
RULE "Active roles MUST be a subset of allowed roles" : sessionActiveRoles |- sessionAllowedRoles

RELATION sessionAccount[SESSION*Account] [UNI]
RELATION accMostRecentLogin[Account*DateTime] [UNI]
RELATION accLoginTimestamps[Account*DateTime]
ENDPATTERN

ENDCONTEXT
13 changes: 13 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Release notes of Ampersand

## v3.10.0 (11 may 2018)

* PHP Backend: integrated and refactored ExecEngine (not an extension anymore)
* PHP Backend: integrated and refactored ExcelImporter (not an extension anymore)
* PHP Backend: added functionality to import json population files via UI of ExcelImporter
* PHP Backend: now requires PHP 7.x (5.6 is not supported anymore)
* PHP Backend: added [Pimple](https://pimple.symfony.com/) as Dependency Injection Container library
* PHP Backend: refactored creation of AngularApp, AmpersandApp and MysqlDB using Pimple container
* PHP Backend: mysql database class placed under Plug namespace
* PHP Backend: added function/method parameter and return type specifications
* PHP Backend: update from Slim v2 to v3 api framework
* [Issue #770](https://github.com/AmpersandTarski/Ampersand/issues/770) Add configuration option to specify login page for prototype

## v3.9.5 (15 april 2018)

* [Issue #760](https://github.com/AmpersandTarski/Ampersand/issues/760) Fixed a bug causing wrong results in the prototype.
Expand Down
5 changes: 3 additions & 2 deletions ampersand.cabal
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: ampersand
version: 3.9.5
version: 3.10.0
author: Stef Joosten
maintainer: [email protected]
synopsis: Toolsuite for automated design of business processes.
Expand Down Expand Up @@ -56,7 +56,8 @@ library
mtl == 2.2.*,
pandoc == 1.19.*,
pandoc-crossref == 0.2.5.*,
pandoc-types == 1.17.*,
-- Extra dependency for pandoc types because of issue. See https://github.com/jgm/pandoc/issues/4448
pandoc-types == 1.17.*, pandoc-types < 1.17.4,
parsec == 3.1.*,
process == 1.4.*,
QuickCheck == 2.9.*,
Expand Down
72 changes: 59 additions & 13 deletions miscellaneous/EditPad Coloring and Navigation/Ampersand.jgcscs
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ Changes include support for:
- back-quote coloring (e.g. `text`) in comments.
- refering to developers (e.g. @RieksJ: links to https://github.com/RieksJ)
- references to Ampersand issues (e.g. #598 links to https://github.com/AmpersandTarski/Ampersand/issues/598)
84
85
#define preprocessortext
CONTEXT Piet IN DUTCH { }
INCLUDE "excel.xls" -- kommentaar
INCLUDE "myfile" -- here is some comment -!highlighted text! comment again, and `text between backquotes` is marked.
PURPOSE CONTEXT Piet
{+ purpose text can use **emphasis** and refer to Github issues, e.g. #392
Expand Down Expand Up @@ -110,7 +111,27 @@ yx--! asdfas
{- asdfasdfa
0
FALSE
26
27
ADL Pre-parser directive

^#
FALSE
FALSE
11
0


0
FALSE
FALSE
TRUE
FALSE




FALSE

Section header
--[[xxx]]---
^--+\[\[.*\]\]--+
Expand Down Expand Up @@ -294,9 +315,14 @@ FALSE

FALSE

Frontend templates
names of frontend templates that are available by default
<(TABS|ROWS|COLS|SCOLS|HCOLS|HROWS|SHCOLS|SPCOLS|SPHCOLS|ROWSNL|COLSNL)>
Frontend templates/views
names of frontend templates and views that are available by default
5
<(DIV|TABS
|ROWS|ROWSNL|HROWS
|COLS|COLSNL|HCOLS|SCOLS|SHCOLS|SPCOLS|SPHCOLS
|PANELS
|PROPBUTTON|STRONG)>
FALSE
FALSE
12
Expand All @@ -305,7 +331,7 @@ FALSE

0
FALSE
FALSE
TRUE
FALSE
FALSE

Expand Down Expand Up @@ -337,7 +363,7 @@ FALSE
Reserved words
Lijstje staat in 'SourceForge:\src\lib\DatabaseDesign\Ampersand\Input\ADL1\Parser.hs' (d.d. 1 dec 2013)
9
\b(INCLUDE|CONTEXT|ENDCONTEXT|IN|DUTCH|ENGLISH|REST|HTML|LATEX|MARKDOWN|META
\b(INCLUDE|THEMES|CONTEXT|ENDCONTEXT|IN|DUTCH|ENGLISH|REST|HTML|LATEX|MARKDOWN|META|THEMES
|PATTERN|ENDPATTERN|PROCESS|ENDPROCESS|SERVICE|ENDSERVICE
|CLASSIFY|SPEC|ISA|IS
|RULE|MEANING|MESSAGE|VIOLATION|RELATION|PRAGMA|CONCEPT|BYPLUG|TYPE|REPRESENT|SRC|TGT|TXT
Expand Down Expand Up @@ -736,7 +762,7 @@ FALSE
FALSE
2
4
https://github.com/AmpersandTarski/Ampersand/issues/$1
https://github.com/AmpersandTarski/Ampersand/issues/$2

0
FALSE
Expand Down Expand Up @@ -919,12 +945,12 @@ FALSE

Ampersand issues

#([0-9]{1,4})
(|\b[Ii]ssue\s?)#([0-9]{1,4})\b
FALSE
FALSE
2
4
https://github.com/AmpersandTarski/Ampersand/issues/$1
https://github.com/AmpersandTarski/Ampersand/issues/$2

0
FALSE
Expand Down Expand Up @@ -1027,12 +1053,12 @@ FALSE

Ampersand issues

#([0-9]{1,4})
(|\b[Ii]ssue\s?)#([0-9]{1,4})\b
FALSE
FALSE
2
4
https://github.com/AmpersandTarski/Ampersand/issues/$1
https://github.com/AmpersandTarski/Ampersand/issues/$2

0
FALSE
Expand Down Expand Up @@ -1120,7 +1146,7 @@ FALSE
0


3
4
spaces until quote
skip spaces
\s*"
Expand All @@ -1139,6 +1165,26 @@ FALSE



FALSE

excel fileid

(?<=")([^"\r\n]*?.xls(|x))(?=")
FALSE
FALSE
1
1
$1

1
FALSE
FALSE
FALSE
FALSE




FALSE

fileid
Expand Down
Loading

0 comments on commit 79fea3c

Please sign in to comment.