
Security News
Frontier AI Is Now Critical Infrastructure
The Fable shutdown shows how quickly model access can become a business continuity risk for AI-dependent engineering teams.
@marklogic-community/grove-react-ui
Advanced tools
This is a React UI designed to be used in conjunction with a MarkLogic UI Resources (Grove) middle-tier. It uses Redux for application state management.
This is a React UI designed to be used in conjunction with a MarkLogic UI Resources (Grove) middle-tier. It uses Redux for application state management.
Note that this UI expects a Grove API-spec compliant middle-tier to be available at the location specified in the proxy field of the package.json located in this directory.
npm install
npm start # Starts a Webpack development server
This UI can be generated using the grove-cli.
You can install npm dependencies with the following command:
npm install
Note that this UI expects a Grove API-spec compliant middle-tier to be available at the location specified in the proxy field of the package.json located in this directory.
npm start
npm test
You can create a static build of this application by running npm run build. You may want to set NODE_ENV=production when running that if you are building for production.
By default, this will build into the build/ directory.
See the create-react-app User Guide for more details.
Best practice is to use the grove-cli to configure the application from the parent directory, so that it can coordinate configuration with the Grove middle-tier:
cd ..
grove config
The only configuration needed by this UI out-of-the-box is the proxy setting in package.json. It should point to the host and port where a Grove API-spec compliant middle-tier is running and available. (The Webpack development server uses this to proxy requests that do not refer to assets within this UI to the Grove middle-tier. This avoids CORS issues. See the create-react-app docs for more information.)
This project was bootstrapped with Create React App.
You can find the most recent version of the create-react-app user guide here.
There are two places to think about HTTPS:
When serving the files of this UI application to a client (a browser), and
When this UI application makes network calls to a middle-tier or other backend.
As the sections below make clear, in most production-like situations, nothing needs to change in this application when moving from HTTP to HTTPS or vice-versa.
You will most often want to use HTTPS in a production-like environment. Typically, in such an environment, this UI will have been transpiled and minified into a set of static files (possible to achieve by running npm run build). A file server (which could be a Grove middle-tier, but could also be Apache, Nginx, etc, which serves static assets and proxies back to a middle-tier) will then serve those files to clients. The file server should be configured to use HTTPS - and nothing special has to be done in this UI application.
Sometimes, however, you will want to use HTTPS in development, when you are making use of the Webpack development server bundled with create-react-app. This is easy to setup: Simply set the HTTPS environment variable to true.
You can do this in .env.development (shared with your team) or .env.development.local (only for your local machine):
HTTPS=true
See the create-react-app User Guide for more details and up-to-date documentation on this feature.
As in the last section, in a production situation, nothing special needs to be done. All network calls should be relative URLs, inheriting the protocol (https), host and port from which the UI application files themselves were served.
In development, when your middle-tier or other backend requires HTTPS, simply change the protocol to 'https' in the proxy field of this UI directory's package.json. NOTE: the grove-cli may currently overwrite this property when run, unfortunately. There is Jira ticket to improve this: GROVE-316
A template to create a nginx docker container is included into this project. Once you have built the static files by running npm run build, then use the following docker command at the project root to create the container.
docker build -t <containerName> .
The nginx.conf assumes several configuration items.
FAQs
This is a React UI designed to be used in conjunction with a MarkLogic UI Resources (Grove) middle-tier. It uses Redux for application state management.
We found that @marklogic-community/grove-react-ui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 10 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Fable shutdown shows how quickly model access can become a business continuity risk for AI-dependent engineering teams.

Security News
AI agents are pulling packages into environments no scanner is watching, creating exposure before security teams can see it.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.