Giter Site home page Giter Site logo

openponk's Introduction

The OpenPonk Modeling Platform

Nightly Coverage Status

OpenPonk is a metamodeling platform and a modeling workbench implemented in the dynamic environment Pharo aimed at supporting activities surrounding software and business engineering such as modeling, execution, simulation, source code generation, etc.

For more information see https://openponk.github.io/

Showcase video:

OpenPonk

Installation

Prepared package

List of prepared Pharo VMs with specific OpenPonk plugins can be found on the official website.

Once downloaded, just extract and run openponk-XXX, where XXX is the suffix for the plugin set you downloaded.

Installation from source

To install from source, follow these steps:

  1. Clone this repository, optionally also clone OpenPonk plugins that you are interested in.
  2. Download Pharo VM appropriate for your platform from Pharo's official website. Then install it (or extract it, if you downloaded standalone version (in which case you will also need to download the "Pharo Image")).
  3. Once your Pharo VM is running, navigate to Iceberg Repositories ("Browse" > "Iceberg", Ctrl+O+I)
  4. Click the Add button (green plus on the right top side Iceberg's Repositories window). Select "Import from existing clone" and navigate to location you cloned this repository to. Click Ok to add the repository to the repository list.
  5. Right click newly added repository (the status will be "Not loaded") and select "Metacello" > "Install baseline of ... (Default)". If there are conflicts ("Duplicated project! There is already a project XXX in this installation.") select "Use LOADED version YYY".
  6. Repeat steps 4 and 5 for each OpenPonk plugin you wish to load.

Now you should see OpenPonk and your selected plugins on the top Pharo menu bar.

Contribution

After you made changes, open Iceberg Repository window ("Browse" > "Iceberg", Ctrl+O+I).

You will see that the package you made changes in has status "Uncommited changes".

Create new branch describing the feature you worked on (right click > "Checkout branch").

Commit the changes (right click > "Commit") (you will be able to review the changes before actually commiting).

Then push to your fork of the origin and make a pull request (from GitHub).

openponk's People

Contributors

belohma2 avatar henrikwlbrs avatar janbliznicenko avatar lariover avatar mabdi avatar peteruhnak avatar sdasda7777 avatar tothmatu avatar turonjan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openponk's Issues

Lock palette selection

On double click keep the palette element selected ->keep adding the same element without picking palette element again.

Roassal stable version does not work in P6+ anymore

Roassal 'stable' version does not work in P6.1+ anymore - displays several warning when loading into Pharo 6.1+.
Baseline needs to be updated to version 1.59 which fixes the problem with loading into Pharo 6.1 but is not marked as stable.

Problem with line endings while committing to OpenPonk repositories

Probably it's me but I tried two commits from Pharo 9, one from macOS and another one from Windows, and in both cases the line endings are always taken into account when comparing diff:

This is a commit from Windows:

hernanmd@e3824fe

The OpenPonk repositories are the only ones where I have this problem.
Should I set something else before committing to this repo?

Move to Spec2

  • #104
  • Keyboard shortcuts
  • OP tests
  • FileBrowser tests
  • FSM simulator
  • Match name text field and selected file in FileBrowser
  • Allow changing Editor layout of existing OP windows
  • Resize canvas when resizing window (instead of Properties)

Support for palette categories

Whenever there is too many items on palette, user has to scroll up and down. It should be more useful when similar palette items were grouped together and could be expanded when needed.

DuplicatedSlotName while installing in Pharo 7

When loading into a clean Pharo 7, during OpenPonk-Trachel compilation I received:

DuplicatedSlotName: Slot #'width' appeared twice in OPTRArcShape

Installation script:

Metacello new
	baseline: 'OpenPonk';
	repository: 'github://openponk/OpenPonk';
	load.

Direct download throws up dependencies against Pharo 7 64bit stable

What is the starting Pharo image works with the direct download?

I tried the following.

Running windows 10.

Installed Pharo from: https://files.pharo.org/pharo-launcher/windows to get pharo-launcher-1.9.2

Starting with:
Pharo 7.0.4
Build information: Pharo-7.0.4+build.169.sha.a2a2b23d681754955d27b7c5a47ed1e9f87ef7b8 (64 Bit)

Then loaded metacello with:

Iceberg enableMetacelloIntegration: false.

Metacello new
    baseline: 'Metacello';
    repository: 'github://metacello/metacello:pharo-6.1_dev/repository';
    onConflict: [ :ex | ex allow ];
    load.

I did that because trying to run Metacello to install openponk from the playground of the virgin pharo install just crashed out of pharo. Not even sure why I tried the lines above, other than I assumed Metacello was not installed in virgin pharo install. It appeared to fix the crash,.

Then tried to direct install openponk with:

Metacello new
     baseline: 'OpenPonk';
     repository: 'github://openponk/openponk/repository';
     load: 'complete'

I get a message:

This package depends on the following classes:
  Nautilus
You must resolve these dependencies before you will be able to load these definitions: 
  Nautilus>>#showMethod:

I hit "Proceed" to ignore the report.

It proceeds up to the following report:

The method Base64MimeConverter class>>#mimeDecodeToBytes: called from TRPharoPlatform>>#mimeDecodeToBytes: has been deprecated.
Please use #base64Decoded now. See issue #21937

Select Proceed to continue, or close this window to cancel the operation.

Hitting "Proceed" just gets it stuck in a loop that keeps then reporting the same warning.

Hitting "Debug" reports:

deprecated: anExplanationString
	"Warn that the sending method has been deprecated"
	
	Deprecation new
		context: thisContext sender;
		explanation: anExplanationString;
		signal

Hitting "Proceed" from the debug window then abort stops the install.

Is there a fix please?

How to add submodels to a project?

Hi,
(Edit 11.5.2020:
The functionality I am searching for is displayed in this video at 2 minutes 3 seconds: https://youtu.be/_gQgXdJyr-0?t=124.
There a submodel is selected and you can open the submodel by pressing the green plus sign.)

I would to add submodels in BORM Editor. Either by using GUI or by coding.

For example how do you add the "Pizza Delivery" model to the other example project "Example Data Flows"?

Below is what I tried:

I tried to add Pizza Delivery as submodel to Example Data Flows by adding project's diagram and model by code in the playground.
First I opened both projects in openponk-all-in-one.image and then i executed the following code:

projects := OPProject allInstances . 

project1 := projects at: 1.

project2 := projects at: 2.

project1models := project1 models.
project1model := project1models at: 1.

project1model project.

project1diagrams := project1 diagrams.
project1diagram := project1diagrams at: 1.

project2models := project2 models.
project2models add: project1model.
project2diagrams := project2 diagrams.
project2diagrams add: project1diagram.

That managed to get the Pizza Delivery model to become visible in the Submodel dropdown list. And when the submodel is selected a green plus sign appears in the block. But I am not yet able to open the submodel.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.