Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/servable-community/publishable
The publishable protocol handles the complete publication state of an object.
https://github.com/servable-community/publishable
protocol publication servable
Last synced: about 1 month ago
JSON representation
The publishable protocol handles the complete publication state of an object.
- Host: GitHub
- URL: https://github.com/servable-community/publishable
- Owner: servable-community
- License: mit
- Created: 2023-09-27T17:13:23.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-01T20:07:57.000Z (12 months ago)
- Last Synced: 2024-11-19T05:26:23.598Z (2 months ago)
- Topics: protocol, publication, servable
- Language: JavaScript
- Homepage:
- Size: 542 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Publishable *protocol for Servable*
**@servable-community/publishable**
[![npm Package](https://img.shields.io/npm/v/@servable-community/publishable.svg?style=flat-square)](https://www.npmjs.org/package/@servable-community/publishable) [![NPM Downloads](https://img.shields.io/npm/dm/@servable-community/publishable.svg)](https://npmjs.org/package/@servable-community/publishable) [![Build Status](https://github.com/servable-community/publishable/actions/workflows/release.yml/badge.svg)](https://github.com/servable-community/publishable/actions/tests.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
## A complete lifecycle management for publication
Allow any object to be in a published or drafted state.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
```mermaid
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#fff',
'primaryTextColor': '#323232',
'primaryBorderColor': '#323232',
'lineColor': '#323232',
'fontFamily': 'ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace'
}
}
}%%
flowchart TD
start([Launch Servable]) --> requiresMigration{A protocol\n requires\n migration?}
requiresMigration -- Yes --> migrate[Migrate every protocol \nthat requires migration]
requiresMigration -- No --> doLaunch[Do Launch]
migrate --> doLaunch[Do Launch]
```
### Available in Servable registry
@servable-community/publishable is available at [servable registry](https://servable.app/feature/@servable-community/publishable).
**Use in your servable project:**
```bash
yo servable -t useprotocol --protocolid @servable-community/publishable
```## Install
```bash
yarn add @servable-community/publishable
```or
```bash
npm install @servable-community/publishable
```## Compatible engines
| Adapter | Version | Link |
| ------- | ------- | ---- |
| @servable-community/parse-server-engine | * | https://github.com/servable-community/parse-server-engine.git |## Used APIs
| Api | Version |
| --- | ------- |
| Route | * |
| Object | * |
| Cloud | * |
| User | * |
| Role | * |
| Session | * |
| Installation | * |
| Config | * |
| LiveQuery | * |## Categories
![Static Badge](https://img.shields.io/badge/app-orange) ![Static Badge](https://img.shields.io/badge/generic-orange)
### Companion packages
### Dependencies
#### Target classes
#### Managed classes
##### Applies to classes: *commentableEntry*
## Usage
### Template
Add this template to your class' protocols.json file. Fill the values to fit your needs with the right parameters.
```json
{
"id": "publishable",
"name": "Publishable",
"slug": "",
"params": {}
}
```### Parameters
| type | id | Message | Default value | vacuity |
| ---- | --- | ------- | ------------- | ------- |
| input | waitForValidation | Wait for validation | | optional |
| input | errorMessage | Error message | Could not publish | mandatory |
| input | notifyOnError | Notify on error | | mandatory |## Seed
## Protocol class
## Before init
## After init
## Config
## Functions
## Live Classes
## Schema
#### Target class
**Fields**
| Name | Type | Target class | Default value |
| ---- | ---- | ------------ | ------------- |
| publishableStatus | String | | |**Class Level Permissions**
| Name | Content |
| ---- | ------- |
| protectedFields | {"*":[]} |**Indexes**
| Name | Content |
| ---- | ------- |
| _publishableStatus | {"publishableStatus":1} |## System
## Lib
## Triggers
## Resources
### Servable Documentation
You can find here the complete [servable documentation](https://docs.servable.app/) with guides and api reference.
### Servable Registry
You can find other Servable protocols at the [Servable registry](https://servable.app/)
### License
MIT © [servable-community](https://github.com/servable-community)