masonwan / marxo Goto Github PK
View Code? Open in Web Editor NEWDemo:
Home Page: http://marxosys.ml/
Demo:
Home Page: http://marxosys.ml/
Layout
User
Notification
Home Screen
Project
Workflow
Event
Content
Report
Config
This action will create a task on calendar.
And it has delay
and wait
properties.
delay
is the task how long it should be, a dynamic start and end may generatedwait
is to define that whether the following actions/conditions need to be wait until the task endedThe task can be skipped, delay might be modified while running.
It can replace the delay condition on link.
Method | URL |
---|---|
POST | /files(?optional_params) |
Optional Params:
Rules:
Method | URL |
---|---|
GET | /files/{id} (with proper mime) |
GET | /files/{id} /download (force download by overwrite mime) |
Method | URL |
---|---|
GET | /files/{id} /info |
Method | URL |
---|---|
GET | /pages/{id} |
visit count
and submission count
Method | URL |
---|---|
GET | /pages?tenant_id=&project_id= |
Method | URL |
---|---|
GET | /pages/{id} /submissions/mine (with auth) |
Method | URL |
---|---|
POST | /pages/{id} /submissions (with auth) |
All URL can ended with an optional type .json
, but only support JSON.
Method | URL |
---|---|
GET | /workflows/{id} |
Status | Body | Condition |
---|---|---|
200 (OK) | Workflow JSON with nodes and links | Successful |
404 (Not Found) | Error JSON with message | Not Found |
Method | URL | Body |
---|---|---|
POST | /workflows | Workflow JSON (ignore nodes and links) |
PUT | /workflows/{id} | Workflow JSON (ignore nodes and links) |
Status | Body | Condition |
---|---|---|
200 (OK) | Workflow with nodes and links | Successful Updated |
201 (Created) | Workflow with nodes and links | Successful Created |
400 (Bad Request) | Error with message | Invalid JSON or Workflow |
Method | URL |
---|---|
DELETE | /workflows/{id} |
Status | Body | Condition |
---|---|---|
200 (OK) | OK JSON | Successful |
404 (Not Found) | Error JSON with message | Not Found |
Method | URL |
---|---|
GET | /workflows?param=…¶m=… |
Status | Body | Condition |
---|---|---|
200 (OK) | Workflow JSON Array w/o nodes and links | Successful |
404 (Not Found) | Error JSON with message | Not Found |
{
"id": "50447afb4728cb2036cf9ca1",
"name": "test_wf",
"title": "Test Workflow",
"desc": "The test workflow",
"tenant_id": "507f81413d070321729fdeff", // null for public shared
"template_id": "50447afb4728cb2036cf9ca1", // default null
"node_ids": [ // String[], default []
"507f81413d070321728fde10",
"507f81413d070321728fde11"
],
"link_ids": [ // String[], default []
"507f81413d070321728fde20",
"507f81413d070321728fde21"
],
"created_at": "2013-03-21T15:22:53.649Z",
"updated_at": "2013-03-21T15:22:53.649Z",
"created_by": "50447afb4728cb2136cf9ca2"
}
{
"id": "50447afb4728cb2036cf9ca1",
"name": "test_wf",
...
"nodes": [ // Node[], default null
{
"id": "507f81413d070321728fde10",
"name": "post_idea",
"title": "Post Idea",
"desc": "Post software project ideas",
...
},
{
"id": "507f81413d070321728fde11",
"name": "post_cancel",
"title": "Post Cancel",
"desc": "Post cancel notification",
...
}
],
"links": [ // Link[], default null
{
"id": "507f81413d070321728fde22",
"name": "post_req_to_submit_design",
...
},
{
"id": "507f81413d070321728fde24",
"name": "pass_to_post",
"desc": "Post & e-mail to everyone if pass rate > 50%",
...
}
]
}
{
"id": "507f81413d070321728fde10",
"name": "post_idea",
"title": "Post Idea",
"desc": "Post software project ideas",
"workflow_id": "50447afb4728cb2036cf9ca1",
"tenant_id": "507f81413d070321729fdeff",
"actions": [ // Action[], default []
{ // Action, embedded
"id": "507f81413d070322728fce01",
"type": "post_to_multi_social_media"
"content": "……"
}
],
"created_at": "2013-03-21T15:22:53.649Z",
"updated_at": "2013-03-21T15:22:53.649Z"
}
{
"id": "507f81413d070321729fde21",
"name": "to_cancel",
"title": "Like Count < 300",
"desc": "Cancel if like count < 300",
"workflow_id": "507f81413d070321729fde06",
"tenant_id": "507f81413d070321729fdeff",
"condition": { // Condition, embedded
"left_operand": "like.account",
"left_operand_type": "data.number",
"right_operand": "300",
"right_operand_type": "number",
"operator": "<"
},
"prev_node_id": "507f81413d070321729fde10",
"next_node_id": "507f81413d070321729fde11",
"created_at": "2013-06-16T04:35:06.807Z",
"updated_at": "2013-06-16T04:35:06.807Z"
}
Since the API should be designed according to use cases, and other APIs have the same behavior, it would be great if we do so too.
The responsibility of the analyzer is to parse the data from different connectors.
Review test cases written by other members.
Compile the considerations to project proposal.
Sample code to play around framework and IDE feature/capability.
I just found out that FB doesn't allow any access token being alive for longer than 60 days. It seems that the limitation begins at Dec 2012.
The finding will result the following expectations:
I will check whether forcing the posts public and letting our Marxo Facebook app to monitor those posts will work or not.
Only JSON will be implemented for now.
{
id: '50447afb4728cb2036cf9ca1',
name: 'test_wf',
title: 'Test Workflow',
desc: 'The test workflow',
node_ids: ['507f81413d070321728fde10', '507f81413d070321728fde11', ...],
link_ids: ['507f81413d070321728fde20', '507f81413d070321728fde21', ...],
created_at: new Date(1363879373649),
updated_at: new Date(1363879373649),
created_by: '50447afb4728cb2136cf9ca2'
}
{
id: '50447afb4728cb2036cf9ca1',
name: 'test_wf',
...
nodes: [{
id: '507f81413d070321728fde10',
name: 'post_idea',
title: 'Post Idea',
desc: 'Post software project ideas',
...
}, {
id: '507f81413d070321728fde11',
name: 'post_cancel',
title: 'Post Cancel',
desc: 'Post cancel notification',
...
}],
links: [{
id: '507f81413d070321728fde22',
name: 'post_req_to_submit_design',
...
}, {
id: '507f81413d070321728fde24',
name: 'pass_to_post',
desc: 'Post & e-mail to everyone if pass rate > 50%',
...
}]
}
Implement OAuth to manage users.
For content posted, a "View Report" button should be in action cell
For content page/form not yet posted, a "Preview" button should be in action cell
Test whether the services can run on a cloud environment.
The first GUI prototype needs to have page layout, showing the structure and page transition.
For storing uploaded data
TestNG: analytics, coverage
Test RESTful Service
Programmatically add/update/delete/query data from Mongo DB
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.