Is there a No code way to display list of Users from Admin Area onto a Page?
No; the closest you could currently get is
- make a module to reflect your users
- make a workflow to catch create/update/delete for users
- update your module from step 1
- show that module in a record list on your page
Basically maintain a duplicate of Users in a Module?
(Making sure I understood your suggested solution)
Thank you!
Well yea; there isn’t a page block which would show a list of users.
Or…
Iirc, in the reporter web app, you can define a data source which pulls from the system-defined user list.
You could then use the report page block to show that data source inside compose.
That could work so pick your poison
I am intending to use it for a User-Picker, not the Listing as a Report.
Of course, applying appropriate filters, not ALL the Users.
Users should also have one or more “User defined Columns” so we can use them for filtering by applications or something else. Right now it is only possible by Role.
Most other platforms provide these in a no-code way as basic needs.
I bet but we never really needed it so it flew under our radar
The questions about features and how to do something, if implemented, will only enhance the Corteza offering. I don’t have the skills to implement, otherwise I would have contributed to this great project.
We use the approach suggested by @tjerman
For us, keeping core user roles and permissions in admin is a good thing. The custom module for userprofiles associated with a userID gives us the flexibility to append data, filter, report etc.
We use the following 2 workflows to:
- Create a userprofile record when a new userID is created in Admin
- Update the userprofile if and when a userID is suspended in Admin
{
"workflows": [
{
"handle": "systemusers__aftercreate",
"enabled": true,
"meta": {
"name": "System Users - afterCreate",
"description": "",
"visual": null
},
"keepSessions": 0,
"steps": [
{
"stepID": "4",
"kind": "function",
"ref": "composeRecordsNew",
"arguments": [
{
"target": "module",
"value": "userprofiles",
"type": "Handle"
},
{
"target": "namespace",
"value": "namespavename",
"type": "Handle"
}
],
"results": [
{
"target": "userprofile",
"expr": "record",
"type": "ComposeRecord"
}
],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": false,
"id": "4",
"parent": "1",
"value": "make User Profile",
"xywh": [
2600,
1880,
200,
80
]
}
}
},
{
"stepID": "6",
"kind": "expressions",
"ref": "",
"arguments": [
{
"target": "userprofile.values.User",
"expr": "user.userID",
"type": "Any"
},
{
"target": "userprofile.values.Email",
"expr": "user.email",
"type": "Any"
},
{
"target": "userprofile.values.UserName",
"expr": "user.name",
"type": "Any"
}
],
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": false,
"id": "6",
"parent": "1",
"value": "set Values",
"xywh": [
2600,
2000,
200,
80
]
}
}
},
{
"stepID": "8",
"kind": "function",
"ref": "composeRecordsCreate",
"arguments": [
{
"target": "record",
"expr": "userprofile",
"type": "ComposeRecord"
}
],
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": false,
"id": "8",
"parent": "1",
"value": "create User Profile",
"xywh": [
2600,
2120,
200,
80
]
}
}
},
{
"stepID": "10",
"kind": "termination",
"ref": "",
"arguments": null,
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": false,
"id": "10",
"parent": "1",
"value": "end",
"xywh": [
2880,
1880,
200,
80
]
}
}
},
{
"stepID": "14",
"kind": "expressions",
"ref": "",
"arguments": [
{
"target": "hello",
"type": "Any"
}
],
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": true,
"id": "14",
"parent": "1",
"value": "Define and mutate scope variables",
"xywh": [
2600,
2240,
200,
80
]
}
}
},
{
"stepID": "16",
"kind": "function",
"ref": "composeRecordsUpdate",
"arguments": [
{
"target": "record",
"expr": "userprofile",
"type": "ComposeRecord"
}
],
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": true,
"id": "16",
"parent": "1",
"value": "Compose record update",
"xywh": [
2600,
2360,
200,
80
]
}
}
}
],
"paths": [
{
"parentID": "4",
"childID": "6",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "7",
"parent": "1",
"points": [],
"style": "exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;",
"value": null
}
}
},
{
"parentID": "6",
"childID": "8",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "9",
"parent": "1",
"points": [],
"style": "exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;",
"value": null
}
}
},
{
"parentID": "16",
"childID": "10",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "11",
"parent": "1",
"points": [],
"style": "exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;",
"value": null
}
}
},
{
"parentID": "8",
"childID": "14",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "15",
"parent": "1",
"points": [],
"style": "exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;",
"value": null
}
}
},
{
"parentID": "14",
"childID": "16",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "17",
"parent": "1",
"points": [],
"style": "exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;",
"value": null
}
}
}
],
"triggers": [
{
"resourceType": "system:user",
"eventType": "afterCreate",
"constraints": [],
"enabled": true,
"stepID": "4",
"meta": {
"description": "",
"visual": {
"defaultName": true,
"edges": [
{
"childID": "4",
"meta": {
"description": "",
"label": "",
"visual": {
"id": "5",
"parent": "1",
"points": [],
"style": "exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;",
"value": null
}
},
"parentID": "3"
}
],
"id": "3",
"parent": "1",
"value": "System user - afterCreate",
"xywh": [
2360,
1880,
200,
80
]
}
}
}
]
}
]
}
{
"workflows": [
{
"handle": "systemusers_afterupdatesuspend",
"enabled": true,
"meta": {
"name": "System Users - afterUpdateSuspend",
"description": "",
"visual": null
},
"keepSessions": 0,
"steps": [
{
"stepID": "3",
"kind": "expressions",
"ref": "",
"arguments": [
{
"target": "userprofile.values.User",
"expr": "user.userID",
"type": "Any"
},
{
"target": "userprofile.values.Email",
"expr": "user.email",
"type": "Any"
},
{
"target": "userprofile.values.UserName",
"expr": "user.name",
"type": "Any"
},
{
"target": "userprofile.values.isSuspended",
"expr": "user.suspendedAt ? true : false",
"type": "Boolean"
}
],
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": false,
"id": "3",
"parent": "1",
"value": "set Values",
"xywh": [
2520,
2240,
200,
80
]
}
}
},
{
"stepID": "4",
"kind": "termination",
"ref": "",
"arguments": null,
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": false,
"id": "4",
"parent": "1",
"value": "end",
"xywh": [
2840,
1960,
200,
80
]
}
}
},
{
"stepID": "7",
"kind": "function",
"ref": "composeRecordsUpdate",
"arguments": [
{
"target": "record",
"expr": "userprofile",
"type": "ComposeRecord"
}
],
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": false,
"id": "7",
"parent": "1",
"value": "update User Profile",
"xywh": [
2520,
2360,
200,
80
]
}
}
},
{
"stepID": "16",
"kind": "function",
"ref": "composeRecordsSearch",
"arguments": [
{
"target": "module",
"value": "userprofiles",
"type": "Handle"
},
{
"target": "namespace",
"value": "namespacename",
"type": "Handle"
},
{
"target": "query",
"expr": "\"User = \" + user.userID",
"type": "String"
},
{
"target": "limit",
"expr": "1",
"type": "UnsignedInteger"
},
{
"target": "incTotal",
"value": "true",
"type": "Boolean"
}
],
"results": [
{
"target": "usersearch",
"expr": "records",
"type": "ComposeRecord"
},
{
"target": "usertotal",
"expr": "total",
"type": "UnsignedInteger"
}
],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": true,
"id": "16",
"parent": "1",
"value": "Compose records search",
"xywh": [
2280,
1960,
200,
80
]
}
}
},
{
"stepID": "17",
"kind": "gateway",
"ref": "excl",
"arguments": null,
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": true,
"id": "17",
"parent": "1",
"value": "Exclusive",
"xywh": [
2520,
1960,
200,
80
]
}
}
},
{
"stepID": "20",
"kind": "expressions",
"ref": "",
"arguments": [
{
"target": "userprofile",
"expr": "usersearch[0]",
"type": "ComposeRecord"
}
],
"results": [],
"meta": {
"name": "",
"description": "",
"visual": {
"defaultName": false,
"id": "20",
"parent": "1",
"value": "set Record variable",
"xywh": [
2520,
2120,
200,
80
]
}
}
}
],
"paths": [
{
"parentID": "3",
"childID": "7",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "11",
"parent": "1",
"points": [],
"style": "exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;",
"value": null
}
}
},
{
"parentID": "16",
"childID": "17",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "18",
"parent": "1",
"points": [],
"style": "exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;",
"value": null
}
}
},
{
"expr": "usertotal == 1 ",
"parentID": "17",
"childID": "20",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "19",
"parent": "1",
"points": [],
"style": "exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;",
"value": "Found"
}
}
},
{
"parentID": "20",
"childID": "3",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "21",
"parent": "1",
"points": [],
"style": "exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;",
"value": null
}
}
},
{
"parentID": "7",
"childID": "4",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "22",
"parent": "1",
"points": [],
"style": "exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;",
"value": null
}
}
},
{
"expr": "usertotal != 1 ",
"parentID": "17",
"childID": "4",
"meta": {
"name": "",
"description": "",
"visual": {
"id": "23",
"parent": "1",
"points": [],
"style": "exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;",
"value": "not found"
}
}
}
],
"triggers": [
{
"resourceType": "system:user",
"eventType": "afterUpdate",
"constraints": [],
"enabled": true,
"stepID": "16",
"meta": {
"description": "",
"visual": {
"defaultName": true,
"edges": [
{
"childID": "16",
"meta": {
"description": "",
"label": "",
"visual": {
"id": "15",
"parent": "1",
"points": [],
"style": "exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;",
"value": null
}
},
"parentID": "9"
}
],
"id": "9",
"parent": "1",
"value": "System user - afterUpdate",
"xywh": [
2000,
1960,
200,
80
]
}
}
},
{
"resourceType": "system:user",
"eventType": "afterSuspend",
"constraints": [],
"enabled": true,
"stepID": "16",
"meta": {
"description": "",
"visual": {
"defaultName": true,
"edges": [
{
"childID": "16",
"meta": {
"description": "",
"label": "",
"visual": {
"id": "25",
"parent": "1",
"points": [],
"style": "exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;",
"value": null
}
},
"parentID": "24"
}
],
"id": "24",
"parent": "1",
"value": "System user - afterSuspend",
"xywh": [
2000,
2080,
200,
80
]
}
}
}
]
}
]
}