-
-
Notifications
You must be signed in to change notification settings - Fork 14
Programming Guidance
We think the easiest way to do this is using the free Community Edition of Visual Studio that can be downloaded and installed from visualstudio.microsoft.com.
From Visual Studio, you can use the Git command to Clone Repository and enter the Repository location https://github.com/functionalresonance/FMV_Community_Edition.git
If you want to work on new functionality, or suggest changes to the standard application, it would be best to create your own fork so you can save your changes to your own personal repository. You can also create new branches to keep your work organised. In this case you would clone your own repository to Visual Studio, not the Functional Resonance repository above.
In Visual Studio you can make changes to the code and debug, or even build and run a local version, to test your changes. If you would like to suggest updates or a new branch publicly, you would then create a Pull request that would be reviewed by a moderator before adding it to the main repository.
If you would like to learn more about using Visual Studio or GitHub, they both have lots of great documentation available on their websites.
As we continue to build our own documentation we will add more specific programming guidance below on how to find and customise parts of the code. You can also use the discussions forum to ask questions and make suggestions.
The top level of the code is explained below, ignoring the system files that are used by GitHub and Visual Studio to manage the solution.
-
Resources (folder)
This is not used for building the application but houses resources such as images and model files used in the Wiki documentation. -
Localization (folder)
Contains resource files for displaying tooltip text in local languanges based on the user's browser default language settings. Corrections to existing languages and additions of new languages would be welcome. -
Pages (folder)
Contains the main Razor pages used to build the application.Index.razorhas the top level HTML layout that organises the components and contains the main C# code. -
Shared (folder)
Contains all of the shared components used to build the application. Components are things like the menu bar, the side-bar controls, pop-up windows, and so on. They are either raw C# components (.cs files) or Razor files (.razor) containing HTML layout and C# code, and sometimes with their own local CSS style sheets (.css files). -
wwwroot (folder)
This folder contains files used specifically to build the web facing aspect of the application. For example:- Application icons (.png, .svg and .ico files)
- Javascript interoperability (.js)
- Configuration data (.json)
- Fonts, icons, Bootstrap and other cascading style sheet formatting files in the CSS folder
- Specifically, the
renderoptions.jsonfile contains the formatting instructions for drawing the shapes and colours of the different model render options that can be selected in the application
- The remaining files (not in folders) are the main README file displayed on the opening code page, the LICENSE and other system files used by GitHub or Visual Studio that generally do not need to be modified directly.