Sign inSign up

noterik/insync-portal

By noterik

•Updated almost 8 years ago

Landing page for InSync

Image
0

249

noterik/insync-portal repository overview

⁠marin-insync-landingpage

Wraps around Pydio and gives quick shortcuts to useful links.

⁠Development and building

Requires docker and docker-compose. To start in development mode change .env and set NODE_ENV to 'development', then:

docker-compose up

To build in production mode, change .env and set NODE_ENV to 'production', after that start docker compose. Webpack will build bundle in /dist.

⁠Configuration

Configuration location can be set in .env, default = static/config.json (this is also present in current git repo as example).

Contains a JSON object of following shape:

{
  "workspaces": [
    {
      "id": "projects", 
      "label": "Projects", 
      "route": "/projects",
      "links": [ 
        {
          "id": "project-search", 
          "icon": "search", 
          "type": "ajxp", 
          "label": "Search & filter",
          "route": "/projects/search",
          "location": "https://insync.noterik.com/#ws-mediamix/",
          "onLoadCallback": "openProjectsSearch"
        },
        {
          "id": "project-explorer",
          "type": "ajxp",
          "icon": "explorer",
          "label": "File explorer",
          "route": "/projects/explorer",
          "location": "https://insync.noterik.com/#ws-mediamix/",
          "onLoadCallback": "openProjectsExplorer"
        },
        ...rest of links
      ]
    },
    ...rest of workspaces
  ]
}
⁠Workspace object

Represents a workspace that can contain links to pages that are relevant to that workspace.

Has following shape:

 {
    "id": "projects", 
    "label": "Projects", 
    "route": "/projects",
    "links": [ <Link> ]
 }
FieldDescription
idUnique ID of workspace
labelLabel of workspace visible in tabs
routeRoute used in address bar of browser, can also be used to open landing page at later moment with current page open
linksAn array of objects used to render the links below the workspace tab

Represents a link for a workspace. Each links has a unique route. A link renders a component when it's active.

Has following shape:

{
    "id": "project-search",
    "icon": "search",
    "label": "Search & filter",
    "route": "/projects/search",
    "component": "AjxpPage",
    "props": {
      "location": "https://insync.noterik.com/#ws-mediamix/",
      "onLoadCallback": "openProjectsSearch"
    }
  }
FieldDescription
idUnique ID of link
iconIcon to be used, list of all available icons can be seen in src/theme//icons.js
labelLabel of link visible in list below workspace tab
routeRoute used in address bar of browser, can also be used to open landing page at later moment with current link open
locationAn array of objects used to render the links below the workspace tab
componentComponent that will be rendered when this link is active, choice of: EmbeddedPage, AjxpPage
propsProperties that will be passed to the component that is rendered for this link (React props)

Tag summary

Content type

Image

Digest

Size

8.8 MB

Last updated

almost 8 years ago

docker pull noterik/insync-portal