blob: da23323e7d700399595aa99b74e9a0b625c35280 [file] [log] [blame]
[{"categories":null,"contents":null,"permalink":"","tags":null,"title":"Categories"},{"categories":null,"contents":null,"permalink":"","tags":null,"title":"Contact"},{"categories":null,"contents":"We are continuously improving our documentation, in case you miss something, please contact us\nGetting started with EMF Forms Introduction and Background First steps and Set-up Embedding EMF Forms into an Application Using the SWT Renderer Using the RAP Renderer Using the JavaFX Renderer More Renderer Available View Model Elements View Control Vertical and Horizontal Layout Group Table Control Control Grid Tree Master Detail View Proxies Additional Elements How to customize EMF Forms Customize and Replace Renderers Implement a Reference Service EMF Forms Services Localization View Template Models Data Templates EMF Forms Editors The Generic Editor The Ecore Editor The Genmodel Editor Customize the look of elements in trees Rendering with EMF Forms EMF Forms Migration Guide EMF Forms Frequently Asked Questions Custom Model Preparation Guideline Debugging The EMF Change Broker Forms in the web (Integration with JSON Forms) Define Model Validation Constraints Forms in the web (Integration with JSON Forms) See here for the available support options\n","permalink":"","tags":null,"title":"Documentation"},{"categories":null,"contents":"Everyone is invited to get involved with the EMF Forms project. Before you plan any kind of contribution, it is a good idea to contact the project team.\nWriting bug reports\nPlease provide a short and concise explanation of the problem and a snippet to reproduce the issue, ideally a JUnit test case that outlines the expected behavior. You are also invited to enter feature requests. Please use Bugzilla to report bugs and feature requests.\nCommit Message Guidelines\nWe have the following commit message template:\nBug $BugID - $BugTitle | TCI - $FixTitle $CommitDescription Change-Id: $GeneratedGerritChangeID Signed-off-by: $SignOffNameAndEmail Instructions (Please continue READING):\n TCI commits: For trivial code changes please use a TCI commit message. See list below for examples. If in doubt please discuss with reviewer. Normal Commits: For all other commits use a commit message starting with \u0026lsquo;Bug\u0026rsquo;. Bug reports with Proper Titles: Before using a Bug title for a commit, committer must update the Bug title to a reasonable and descriptive title for the task they have worked on Commit Description: Additionally to the title, the commit message can describe briefly (2-3 sentences) how this commit fixes the bug from a technical perspective Multiple Commits for same bug: Of course you may use the same bug and therefore bug title for multiple commits and their message, in this case please provide a unique description Reviewers responsibility: The reviewer is responsible also for checking that the bug title is descriptive and reflects the committed change and that the description if any reflects the technical change TCI message examples:\n JavaDoc NPE Version Update of manifest and pom anonymous to inner class Conversion Renaming local vars, e.g. because of typos Externalizing strings Use Gerrit to contribute to ECP\nWe use Gerrit code review so you can easily contribute to ECP and get a review for your changes. Please make sure that all your commits refer to a Bugzilla Bug.\nProviding a patch to fix a bug or add a feature\nPlease attach your patch to the bug report in question or create a new report using Bugzilla .\nContribute documentation\nIf you found something that is not documented yet, please share your knowledge with other users. Please contact us to find the appropriate place to add your documentation.\nBug report quality policy\nPlease note that our bug reports (BRs) are an essential source information for adopters to get an overview about applied changes and new features. Therefore, titles must indicate the affected component and express the goal of a change.\nIt is the reviewer\u0026rsquo;s responsibility to verify that the BR complies with this policy.\nTag bug reports to be retested\nIf you believe that a change could cause a regression for a consumer please add the \u0026ldquo;test\u0026rdquo; keyword to highlight that this feature should be re-tested when a consumer upgrades the affected component. Common instances where this keyword must be added include:\n when the behavior of a component has changed when a new feature has been added which is enabled by default This also includes any changes of the default behavior and adaptations of visible UI elements, even if they are considered an improvement. Further, this includes non-trivial refactorings. If in doubt, prefer to tag a BR.\nAdditionally to the \u0026ldquo;test\u0026rdquo; tag, provide a comment like this:\nTESTING INFORMATION Summary of the critical part of the change Potential regressions Affected areas / use cases Things that shall be tested Again, it is part of the code review to check the BR title and the existence of an appropriate comment.\nIf you identify a regression or change of behavior after the fact, please add the \u0026ldquo;test\u0026rdquo; keyword and the testing information as well.\nTag \u0026ldquo;noteworthy\u0026rdquo; bug reports\nUse this tags on bug reports, that are \u0026ldquo;noteworthy\u0026rdquo; especially:\n New features Process changes In general, consider if you would write an article about a release and ask yourself, whether you would mention this bug report. If yes, it is noteworthy. Adopters and developers will use this information to learn what\u0026rsquo;s noteworthy in a release. So please make sure, that \u0026ldquo;noteworthy\u0026rdquo; bug reports have a proper description.\nTag bug reports with \u0026ldquo;Help wanted\u0026rdquo;\nIf you want to encourage that other contributors or committers pick up a Bug report, please tag the Br with the \u0026ldquo;help wanted\u0026rdquo; keyword. In turn, if you want to contribute to the project, the \u0026ldquo;help wanted\u0026rdquo; BRs are a good starting point.\nDeveloper Resources for EMF Forms Using Oomph we want to ease the setup pain for new contributors and committers of EMFForms. Here are the necessary steps:\n Step 1: Download Oomph for your Platform Step 2: Start Oomph Update Oomph to the latest version if required (Simple Mode: Upper right corner or Advance Mode: left bottom) Switch to Advanced Mode (Upper Right corner, Advanced Mode) Drag and Drop / add (\u0026quot;+\u0026quot; in the upper right corner) this profile EclipseSource Profile Select the \u0026lsquo;EclipseSource IDE\u0026rsquo; entry and press next Drag and Drop / add (\u0026quot;+\u0026quot; in the upper right corner) this setup file: EMFForms.setup into the top list. You should now see a new Entry at the top:\n Select the EMFForms entry and double click it, it should be BOLD now:\n Press next and select the way you want Oomph to install your Eclipse and Workspace Press Finish and let Oomph do the magic Step 3: When Oomph finishes you still have to do some manual steps Locate and open the file in the bundle imported from the repository. When it is resolved, set this definition as the target platform. This may take quite some time at first. Step 4: Start developing using ECP Branching scheme In our GIT Repositories, we are using the branching scheme described here.\n We have a master branch containing the last release. A development branch containing the current development state and (hopefully) some feature branches containing new feature developments.\n So if you are a developer, please commit on the develop branch in the future. If you develop a new feature, please open a feature branch and merge it back to the develop branch when your feature is finished. Don\u0026rsquo;t commit on the master branch because it should only contain stable release versions merged there by the release engineer.\n Profiling and Performance Debugging YourKit is kindly supporting the EMF Forms open source project with its full-featured YourKit Java Profiler, which helped us to greatly improve EMFForms. Framework Developer Guidelines The following sections describe the guidelines for creating new plugins and features for EMFForms.\nGeneral settings These settings can be modified in the \u0026ldquo;New Plug-in Project/New Feature\u0026rdquo; wizards.\n Namespace: The plugin-name should begin with \u0026ldquo;org.eclipse.emfforms\u0026rdquo;. Therefore the name of our example plugin and the prefix for the packages would be \u0026ldquo;org.eclipse.emfforms.example\u0026rdquo;. The name of a feature would be e.g. \u0026ldquo;org.eclipse.emfforms.example.feature\u0026rdquo;. Execution Environment: As JRE version the plugin should use 1.6, so please select \u0026ldquo;J2SE-1.6\u0026rdquo;. (Note that a feature does not have this setting.) Version: As version please use the current version (see in other plugin) plus the qualifier, e.g. \u0026ldquo;1.0.0.qualifier\u0026rdquo;. Name: Enter a describing name for your plugin, e.g. \u0026ldquo;Cool Example Plugin\u0026rdquo;. Provider: For the provider please enter \u0026ldquo;Eclipse Modeling Project\u0026rdquo;. Plugin runtime When defining the export packages on the runtime tab, please note the following:\nPlugins should export all defined packages. The exported packages should not be visible by default.\n Internal packages (not visible) should follow the \u0026ldquo;org.eclipse.emfforms.internal\u0026rdquo; naming convention SPI packages (visible, breaking changes allowed in minor releases) must follow the \u0026ldquo;org.eclipse.emfforms.spi\u0026rdquo; naming convention API packages (visible, no breaking changes allowed in minor releases) should follow the \u0026ldquo;org.eclipse.emfforms\u0026rdquo; naming convention If you don\u0026rsquo;t want to make a potential API package visible yet, please follow the \u0026ldquo;org.eclipse.emfforms\u0026rdquo; naming convention but mark the package as not visible.\nPlugin dependencies When adding dependencies to your project please note the following giudelines:\nUsually we use \u0026ldquo;Required Plug-ins\u0026rdquo; to add dependencies that we need. There is one exceptions: If you add dependencies to SWT/JFace you have to use \u0026ldquo;Imported Packages\u0026rdquo;.\n Plugins should have the needed minimum version and the next major version as maximum version, e.g. \u0026ldquo;[4.8.1, 5.0.0)\u0026rdquo;. Reexport dependencies when you use classes from the other plugins in your API. Imported Packages should have the needed minimum version and the next major version as maximum version, e.g. \u0026ldquo;[4.8.1, 5.0.0)\u0026rdquo;. Required legal files When creating a new plugin make sure to copy the \u0026ldquo;about.html\u0026rdquo; from an existing plugin to your project. Then open the and add the about.html to the Binary as well as to the Source Build.\nFormatting \u0026amp; co We set all setting in a project specific way. Therefore no action is required for existing projects. If you want to create a new bundle, please follow these instructions: The lazy and best way is to copy all files from the .settings (except any .api_filters file) folder into the newly created project. You also must copy the .checkstyle file. After that you have to open the project properties and activate checkstyle. The config will already be set to the correct value. Generating new models If you have to create a new EMF Model follow these steps before generating:\n Set the formatting of the project according the formatting rules\n Set the Code Formatting and the Comment Formatting to true in the genmodel\n In the genmodel file Set the Copyright Text to:\nCopyright (c) 2011-2020 EclipseSource Muenchen GmbH and others.\nAll rights reserved. This program and the accompanying materials\nare made available under the terms of the Eclipse Public License v1.0\nwhich accompanies this distribution, and is available at\n\nContributors:\n{userId} - initial API and implementation\n Extension Point Guidelines When adding a new extension point please mind the following guidelines:\n The plug-in ID must be the same as the ID of the project defining the extension point\n The point ID must not be fully qualified. The name must be camel cased\n The point name must be understandable and give a good hint at what the extension point is doing\n The Description tab must contain a description for the extension point. If the point is experimental (API not fixed) add the following line:\nThis extension point is experimental and is likely to change in the future releases as the activity support evolves.\n The Since tab must contain the Version of the plugin since which it is part of the API. (Even if it is experimental). The Version format is maj.min, e.g. 1.1\n The Examples tab should contain an example of an usage of this extension point. Use the \u0026ldquo;pre\u0026rdquo; tags to display markup.\n The API Information tab should contain a description of classes being used for defining this extension point.\n The Supplied Implementation tab should contain a description of a supplied implementation of this extension point, if one implementation is supplied.\n The Copyright tab must contain the copyright agreement, it looks like this:\nCopyright (c) 2011-2020 EclipseSource Muenchen GmbH and others.\nAll rights reserved. This program and the accompanying materials\nare made available under the terms of the Eclipse Public License v1.0\nwhich accompanies this distribution, and is available at\n\nThe company name must be adjusted if necessary.\n You can use HTML tags in all tabs. Use this possibility to improve the readability of your texts.\n ","permalink":"","tags":null,"title":"Documentation"},{"categories":null,"contents":"All downloads are provided under the terms and conditions of the Eclipse Foundation Software User Agreement unless otherwise specified.\nTo install EMF Forms, you\u0026rsquo;ll need a running version of Eclipse. The simplest way to get started is to use the latest modeling edition. Otherwise install the EMF Forms SDK Feature from the Update Site (NOT the Target Platform Update Site) like this:\n Navigate to Help → Install New Software Paste the copied URL into the text field label with \u0026ldquo;Work with\u0026rdquo; and press enter Select the features, you want to install (if you are unsure: the \u0026ldquo;EMF Forms SDK\u0026rdquo;). Please also visit our documentation for more information Accept the license agreement and finish the installation ","permalink":"","tags":null,"title":"Downloads"},{"categories":null,"contents":null,"permalink":"","tags":null,"title":"EMF Forms"},{"categories":null,"contents":null,"permalink":"","tags":null,"title":"Getting started"},{"categories":null,"contents":"Support for EMF Forms, to create new renderers components and for projects adopting EMF Forms is provided by ","permalink":"","tags":null,"title":"Support"},{"categories":null,"contents":null,"permalink":"","tags":null,"title":"Tags"}]