diff --git a/modpol/DOCS/GOVERNANCE.md b/modpol/DOCS/GOVERNANCE.md deleted file mode 100644 index 33b26c7..0000000 --- a/modpol/DOCS/GOVERNANCE.md +++ /dev/null @@ -1,15 +0,0 @@ -One administrator, @ntnsndr, holds ultimate decision-making power over the project. This is a temporary arrangement while we build trust as a community and adopt a more inclusive structure. - -* **Autocracy** The administrator holds ultimate decision-making power in the community. - * **Executive** The administrator is responsible for implementing—or delegating implementation of—policies and other decisions. - * **Lobbying** If participants are not happy with the administrator's leadership, they may voice their concerns or leave the community. -* **Do-ocracy** Those who step forward to do a given task can decide how it should be done, in ongoing consultation with each other and the administrator. - * **Membership** Participation is open to anyone who wants to contribute. The administrator can remove misbehaving participants at will for the sake of the common good. -* **Code of Conduct** Participants are expected to abide by the Contributor Covenant (contributor-covenant.org). - ---- - -Created by [Nathan Schneider](https://gitlab.com/medlabboulder/modpol) - -[![CommunityRule derived](https://communityrule.info/assets/CommunityRule-derived-000000.svg)](https://communityrule.info) -[Creative Commons BY-SA](https://creativecommons.org/licenses/by-sa/4.0/) diff --git a/modpol/DOCS/Predefinitions.txt b/modpol/DOCS/Predefinitions.txt deleted file mode 100644 index 8498435..0000000 --- a/modpol/DOCS/Predefinitions.txt +++ /dev/null @@ -1,35 +0,0 @@ -When calling modpol.lua from another file, one may wish to use -different functions than those included by default. - -So far, 2 definitions need to be made BEFORE calling modpol.lua, the rest can be overwritten -after calling modpol.lua . - -setup: ----------------- -Define the global modpol table: -modpol = {} - -the following 2 items *may* be defined, if they are not, then defaults will be used: -======================== --------------------- -modpol.get_script_dir() --------------------- -type: function - -defaults to: a function that can only work in linux - -usage: must return the file path of the modpol directory. If modpol is in a -larger directory, such as a mod filesystem, make sure that the path returned is the "base" -modpol folder, i.e. the folder with all the original modpol files. -======================== --------------------- -modpol.storage_file_path --------------------- -type: string - -defaults to: topdir .. "/storage/storage-local.lua", -where topdir is the directory defined by modpol.storage_file_path - -usage: if you wish to use another method of storage than that provided by default, -then you can save a filepath to the storage script here. - diff --git a/modpol/DOCS/ledgers b/modpol/DOCS/ledgers deleted file mode 100644 index dedf78a..0000000 --- a/modpol/DOCS/ledgers +++ /dev/null @@ -1,50 +0,0 @@ -Ledger -************************** - -a legder is a table of records that holds the history of an org, and of modpol itself. - -its structure is a table of legder entries. - -Every org has one, starting with the entry recording its creation. - -Ledger Entry -************************** -a legder entry is a table with the following properties: - -timestamp = nil, -entrytype = nil, -action_msg = '', - -the timestamp will hold the output of os.time at the moment the entry was created. - -the entrytype is optional; it can hold an identifier of the kind of entry it is (e.g. 'org_init', 'new_user', etc etc.) - -action_msg is the record output itself. - - - -Entrytypes -************************** - -These are the entrytypes that modpol uses. Each additional module should document whatever entrytypes it adds. - -'org_init' -type used when an org is created - -'org_purge' -type used when all orgs are purged. -- will only be found in the main modpol ledger. - -'org_remove' -type used when removing an individual org - -'add_member' -type used when adding a member to an org - -'remove_member' -type used when removing a member from an org - - - -Old orgs -************************** -when an org is removed, its ledger is stored in modpol.old_legders = {} Note that multiple ledgers may exist here with the same org name. \ No newline at end of file diff --git a/modpol/DOCS/orgs b/modpol/DOCS/orgs deleted file mode 100644 index a360bd7..0000000 --- a/modpol/DOCS/orgs +++ /dev/null @@ -1,137 +0,0 @@ -== Dev note === -*note, see doc ledgers for info about org ledgers. -they are *not* just a message in a table anymore... they have a timestamp and more. -=============== - - -Orgs are stored in modpol.orgs by the key 'org_id', a unique integer - -Old ledgers of deleted orgs are stored in modpol.old_ledgers, -if preserve records is enabled - -An org is a table with the following properties: - -{ - name = '', -- a unique name... - this is a reference to the key used to store the org table. Changing this does not change the org name. - policies = {}, -- a table to store the org's policies - members = {}, -- a table that contains the member names - or the org, in no particular order (TKTK: maybe change it so that members have a name:properties table?) - ledger = {}, -- a table of ledger entries. See the ledger docs - parent = nil, -- the name of the org that spawned this org. - removing a parent org removes its children - children = {}, -- a table of strings of org names of child orgs - properties = { -- good for modules to store arbitrary info about the org here. - - }, - -} - - -API functions for orgs -====================== - -a local variable setting 'preserve_records' determines whether -to store old ledgers when an org is deleted. It is set to true. -It would be possible to extend this to a settings file later. - ---==oo888888888888888888888888888888oo==-- -Function: modpol.record(org_id, msg, type) --- Params: strings msg, type, org_id (number) --- Outputs: --- "msg" specifies an event and/or status message. --- "org" specifies an "org" name. --- "type" -- optional type of legder entry. Could be e.g. 'election_result', 'add_member', etc - - --- This function adds the message to a global ledger and, if "org" --- specifies a valid "org", to an "org"-specific ledger. Both the mem- --- ory-resident and on-disk copies of the data structures used are up- --- dated. --- the type input is used to be able to search ledgers for specific events - ---==oo888888888888888888888888888888oo==-- - -Function: modpol.add_org(org_id, members, parent, properties) --- Params: org)id (number), table members, string parent, table properties --- Parent must be an existing org, defaults to 'instance', properties --- are arbitrary properties to initialize the org with - --- Output: --- This function creates an "org". It returns a boolean success indicator and --- either an error message starting with "Error:" or a success message. --- --- --- The string parameter specifies the "org" name. --- --- The members table should be an integer-indexed array of member --- names. - --- parent should be nil or a valid existing org name. If nil, defaults to --- 'instance' - --- properties defaults to an empty table. Use it to initialize the org --- with arbitrary properties - ---==oo888888888888888888888888888888oo==-- - --- Function: modpol.remove_org(org_id, reason) --- Params: org_id (number), opt string reason --- Output: --- --- This function removes an "org". It returns a boolean --- success indicator and either an error message --- starting with "Error:" or a success message. It also recursively --- removes all child orgs, with 'remove parent org' as reason. If --- preserve_records is enabled, it logs the removal in the org ledger, --- and stores the ledger in modpol.old_legders --- --- The string parameter specifies the "org" name. --- --- The reason is an optional string to additionally include in the --- log as reason for removal - ---==oo888888888888888888888888888888oo==-- - -Function: modpol.list_orgs() --- Params: None --- Output: --- This function returns a text-format list of "orgs". The list shows --- one "org" per line in the following format: --- org_name (member, member, ...) --- If there are no "orgs", the output is an empty string. - ---==oo888888888888888888888888888888oo==-- - - -Function: modpol.reset_orgs() --- Params: None --- Removes all orgs and recreates blank org "instance" with all --- current users --- returns confirmation message --- if preserve_records is enabled, stores all org ledgers --- in modpol.old_ledgers - ---==oo888888888888888888888888888888oo==-- - -Function: modpol.add_member(org_id, member) --- Params: org_id (number), member (string) --- Output: --- Adds the specified member to the specified org --- Returns a boolean success indicator and --- either a confirmation or error message - ---==oo888888888888888888888888888888oo==-- - -Function: modpol.is_member --- Params: org (number), member (string) --- Output: boolean, or nil and error message if not applicable. (org nonexistent) - - ---==oo888888888888888888888888888888oo==-- - -Function: modpol.remove_member --- Params: org (number), member (string) --- Output: --- Removes the specified member from the specified org --- Returns confirmation or error message \ No newline at end of file