Subversion Repositories oidplus

Rev

Rev 1439 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1232 daniel-mar 1
May 2023 planned:
1433 daniel-mar 2
- Don't send "information object OIDs" (= Non-OIDs mapped to OID) OIDs or OID-AltIds to oid-info.com anymore
3
	=> 17 May 2023 mitigated at VTS internal side for Information Object OIDs
1182 daniel-mar 4
- In re Internet access:
1212 daniel-mar 5
          * Check if all instances of https://github.com/danielmarschall/oidplus/issues/5 ("Offline mode") have been addressed
6
    [OK!] * Everywhere where url_post_contents() is used, we need to check url_post_contents_available() too.
7
          * Everywhere where url_get_contents() is used, we need to check url_get_contents_available() too.
1214 daniel-mar 8
- Not good: url_*_contents() throws an Exception if not available, but returns false if URL is not available. That's inconsistant...
1232 daniel-mar 9
- Idea: If we enter "oid:2.999.123" in the goto box, and only "oid:2.999" exists, should we recommend the user to look at 2.999?
1288 daniel-mar 10
- <font color="red"> replace with CSS class
1177 daniel-mar 11
 
1232 daniel-mar 12
Future:
13
- Check if we can also support these databases listed at the PHP documentation:
14
	CUBRID
15
	dBase
1241 daniel-mar 16
	Firebird/InterBase => No. This PHP extension is not maintained anymore
1245 daniel-mar 17
	IBM DB2 - IBM DB2, Cloudscape and Apache Derby
1308 daniel-mar 18
- New module (public) "Latest additions" showing new OIDs
1232 daniel-mar 19
 
1217 daniel-mar 20
Unicode compatibility:
21
- [DONE]  SQL Server needs nvarchar instead of varchar (works with emoji too)
22
- [DONE]  MySQL works with Unicode and emoji if collation is utf8mb4
23
- [DONE]  Access table structure works with Unicode
24
-         PDO+MySQL: Unicode (with emoji) works, but PDO+ODBC+MSSQL and PDO+ODBC+ACCESS does not work, so it's ODBC's or ODBC-Driver's fault. Can we do something about it?
1350 daniel-mar 25
-         ODBC+MSSQL and ODBC+ACCESS: Unicode does not work. So it's ODBC's or ODBC-Driver's fault. Can we do something about it?
1368 daniel-mar 26
          (Note: OIDplus can read and write UTF-8 with ODBC and PDO and it looks good if you look at it in OIDplus. However, the data is actually double-encoded, which can be noticed if you view the data in SQL Management Studio, Access, or any other tool. When you insert Unicode in SQL Management Studio, then it shows up as '??' in OIDplus)
1370 daniel-mar 27
-         The following trick might work (not tested) https://www.php.net/manual/en/function.odbc-connect.php#123797 , so that Unicode can work correctly with ODBC:  Control Panel > Region > Administrative > Change system locale >Check '<i>Use Unicode UTF-8 for worldwide language support.
1365 daniel-mar 28
- [DONE]  ADO+OLEDB works with Unicode and emoji. It is important that the COM class is created with codepage 65001, and that SQL commands use N'...' strings
1368 daniel-mar 29
- [DONE]  SRVSRV plugin is capable of Unicode and pile of poo Emoji. Tested reading and writing (Update commmand).
1217 daniel-mar 30
 
1201 daniel-mar 31
Exception Refactoring:
32
- [DONE]  Instead of catching OIDplusException, catch Exception
33
- [DONE]  Check every "new OIDplusException" and "new \OIDplusException" if it contains HTML and needs to be "new OIDplusHtmlException"
34
- [DONE]  Check every instance of "->getMessage()" it it needs to be HTML or Text
35
                HTML would be   $htmlmsg = $e instanceof OIDplusException ? $e->getHtmlMessage() : htmlentities($e->getMessage());
36
-         Check every instance of "catch (\Exception"
37
                Question: In the whole code we write "catch (\Exception" . Is that correct or should we write "catch (\Throwable" ?
1206 daniel-mar 38
- [DONE]  Why are there 66 matches of  "$out['icon'] = 'img/error.png';"  ?  Shouldn't gui() just throw OIDplusException or OIDplusHtmlException and let the caller do the rest?
1201 daniel-mar 39
-               Idea: Implement "friendly Exceptions"
40
                    * A "friendly" Exception is an Exception where the user has done something wrong (i.e. they are not logged in).
41
                    * The error is therefore clearly known and therefore a technical stacktrace is NOT shown.
42
 
1125 daniel-mar 43
Type safety:
1130 daniel-mar 44
- PhpStorm warnings
45
- Re-Check "mixed"
1143 daniel-mar 46
- Nullable params passed to non-nullable methods => find using PHPStan level 7
1125 daniel-mar 47
 
1088 daniel-mar 48
Admin Auth:
49
- implement argon2 as alternative to bcrypt?
50
- idea: could RA-auth-plugins also be used to create the admin-hash? problem: setup/ generates hash with javascript, not via PHP!!!
51
- BCrypt
52
	Make #rounds and length of admin password configurable (pre-baseconfig?)
53
	Include dev/bcrypt_cost_calculator somewhere in the configuration page?
54
	... At least give a hint to the documentation, so they know how to run the tool and how to enter the cost in the configuration (for RA and Admin)
55
	... or in the setup page make an extra control how complex the admin password should be? but be aware that nobody enters a too big number (it makes DoS possible!)
56
	See "Example #3" here https://www.php.net/manual/de/function.password-hash.php which helps you finding a good cost value for your system
57
 
1084 daniel-mar 58
Feb 2023 entries:
59
- Create oid => immediately after creating an OID, show the title/description edit dialog in a popup?? we must be sure that people don't add OIDs without title
60
- OID Description textarea: add link to oid-info.com faq to show how descriptions should be done
61
- Oidinfo blacklist object types (set by the user in the system config)
62
- Db Config: datatypes/enums for the settings
63
- Db Config: default setting button
64
- improved PHP class loader, see frdlweb github discussion https://github.com/frdl/frdl-oidplus-plugin-type-pen/issues/1
65
 
843 daniel-mar 66
Ideas by Simon T.:
834 daniel-mar 67
- System status plugin: Check if file owners are mixed
838 daniel-mar 68
- a possibility to upload & assign custom icons to objects (both in the tree & in the page)
69
- a possibility to move objects/nodes from one hierarchy level to another (for now, I have to reconstruct them)
70
- 2FA TOTP support (+backup codes) - good for public instances, like FreeOID (Yes, I'm that one person who always asks for true totp 2FA everywhere xD )
71
- a possibility to 'construct' my own object types in UI (1: specify list of their fields and 2: choose "oid-like/forward" com.example.api or "domain-like/reverse" api.example.com naming scheme), so they would appear as the whole new type
2 daniel-mar 72
 
981 daniel-mar 73
Recently added TODO entries:
74
- should all country codes (even unused) in 1.2 and 2.16 be added to the wellknown list?
75
- "Decoding" section (tech info) at OID nodes, e.g. the AID decoder, should this be a scrolling <pre> block instead of a <code> block? (For mobile devices)
1082 daniel-mar 76
- problem: if an identical class file (with same namespace) is placed in two plugin folders, then the oidplus autoloader will include both, which will cause a fatal error
1179 daniel-mar 77
- oidplus docker image?
981 daniel-mar 78
 
954 daniel-mar 79
Databases:
80
- Let plugins create tables for all DBMS by including a "create table" function with abstract types in the SQL slang plugins (similar to Medoo)
81
 
82
Ideas
1304 daniel-mar 83
- Let users have their own settings. This could be achieved by the ###_config table, by having a key with the name scheme "<settingname>(<useremail>)".
84
	Example settings:
85
	* Own color settings
86
	* Newly created OIDs: Always open, Never open, Ask (default)
87
	But what do we do if multiple users are logged in??
954 daniel-mar 88
- if a third-party plugin throws an exception in the init() method, maybe OIDplus should avoid loading the plugin?
89
- "hidden" alt ids which are not shown in the GUI, but can be used for reverse-Alt-ID ? (I believe we have excluded some AltIDs which are "not neccessary", e.g. an GUID already is a GUID and therefore does not need a Namespace GUID, or something like that)
90
 
946 daniel-mar 91
RDAP:
92
- Extend handle404() to handle more things required by the RFC, as well as more object types
93
- More TODO see GitHub repository https://github.com/frdl/oidplus-frdlweb-rdap/issues
94
 
95
GS1 plugin:
96
- prefilterQuery: If we query a gs1 which has a check digit, we should be redirected to the number without checkdigit.
97
                  But... how do we know if the last digit is a checkdigit or if it is a longer number with a missing check-digit?
98
 
820 daniel-mar 99
New Object Type plugins:
1441 daniel-mar 100
- Security Identifier (Microsoft) ?
820 daniel-mar 101
- LSID ?
102
 
774 daniel-mar 103
Treeview / Navigation:
104
- In the tree, let the operator create "shortcuts" to important OIDs?
105
- Define "critical" OIDs which should always be visible; this means: the tree will always be extended so that these OIDs are shown?
106
 
532 daniel-mar 107
SECURITY Improvements:
108
- Small security issue: A visitor can check which plugins are installed by either entering a "goto" command (e.g. "oidplus:vnag_version_check")
109
  and see which error message appears, or they could try to enter "plugin/adminPages/..." using the web browser and see if the result is HTTP 200 or HTTP 404.
239 daniel-mar 110
 
1073 daniel-mar 111
Setup:
112
- Make following things configurable in some kind of base-config INI/XML file:
113
	Min length of admin password
114
	Bcrypt Round
115
	Default language (like the "DEFAULT_LANGUAGE" base config setting)
116
	Design (like the "design" config setting)
117
 
374 daniel-mar 118
IDEAS FOR NEW FUNCTIONALITIES
318 daniel-mar 119
- Admin plugin "Attachments" with following functionalities:
120
	* Show every object and its attachments, so that the admin knows what's going on
121
	  (Alternatively they can just look in the userdata directory using FTP)
122
	* Give the ability to enable/disable RA uploading/deleting
123
	  (Alternatively they need to do it in the configuration module and enter '0' and '1' by hand)
1000 daniel-mar 124
- "Notifications plugin"
125
	OK:      Make a plugin that shows warnings from plugins (via "feature-interface"), e.g. the registration plugin could warn that CURL is not working correctly etc.
1006 daniel-mar 126
	No:	 But it should also have JavaScript components, e.g. check if dev/ and other confidential folders can be accessed (see code in setup/)
127
	Not yet: Also offer VNag that informs the user via Nagios if new Notifications are there?
331 daniel-mar 128
- Excel/CSV import tool for bulk data import (as alternative to XML import. Maybe previous Excel->XML import tool?)
501 daniel-mar 129
- External Syslog server
318 daniel-mar 130
 
499 daniel-mar 131
LDAP / OAUTH
432 daniel-mar 132
- Implement other OAuth providers?
494 daniel-mar 133
	Try out https://github.com/SocialConnect/auth
134
	     or https://github.com/hybridauth/hybridauth
135
- Credentials and API-Keys should be protected or obfuscated or encrypted? (JoomlaKeychainKeychain?)
432 daniel-mar 136
 
308 daniel-mar 137
TINYMCE
399 daniel-mar 138
- mce dirty flag: call performCloseQueryCB()/performCloseCB(), if ...
139
	OK:   The page (browser tab) is about to be closed or the page is reloaded
140
	      => TinyMCE uses the window.onbeforeunload event
141
	TODO: The browser navigation buttons are clicked
142
	      => This only works PARTIALLY. Preventing popstate() works and no data is lost,
143
	         but the browser will think that it was successful!!
144
	OK:   When a node at the jsTree is clicked (conditional select)
145
	OK:   In the openOidInPanel() function, i.e. when you enter something into the goto-bar.
146
- critical bug: open page, edit tiny mce, click save. Then F5 reload (not Ctrl+F5): then the old content is there again. Except if you press Ctrl+F5
147
	(cannot be reproduced anymore? tested with firefox and chrome)
148
- The "is dirty" check should also include the "Title" input box
960 daniel-mar 149
- (Sep 2022) Need more detailled reproduction:
150
	If you use the browser back functionality and switch between
151
	content pages (containing TinyMCE) and non-content pages (e.g. FreeOID page)
152
	then sometimes TinyMCE has vanished and you just have a small textarea with HTML code.
153
	You probably also need to use the "GoTo" button for reloading (not F5).
154
	Could be reproduced a few times. JavaScript console shows no error.
308 daniel-mar 155
 
914 daniel-mar 156
OID-IP
157
- query 'oid:' should show all root entries (subordinate entries), but there is only the message "not found"
158
- offer signature checker tool to verify responses
43 daniel-mar 159
 
292 daniel-mar 160
SETUP
157 daniel-mar 161
- There should be a "test database connection" button
500 daniel-mar 162
	=> however, this button could be abused to brute-force database connections,
163
	   and even abusing the server to connect (brute-force) to foreign database servers
157 daniel-mar 164
 
327 daniel-mar 165
DATA TRANSFER PLUGIN
166
- XML import: Let the user decide if existing OIDs shall be overwritten
167
- XML import: Let the user decide if RAs should be created
168
- XML import: Let the user decide if "created=now" should be set
169
- XML import: Waiting animation
170
- XML import: If output (errors) is too long, show them in a page rather than an alert() box
1433 daniel-mar 171
- oidplus:oidinfo_compare_import : It would be nice to have an "import all" button
327 daniel-mar 172
 
25 daniel-mar 173
SMALL THINGS
1020 daniel-mar 174
- when you copy something into the clipboard, please show a toast message
175
- Setup: "None" CAPTCHA plugin should be the first option
176
- oobe.php leaks email address of administrator to spam bots
988 daniel-mar 177
- Use DIRECTORY_SEPARATOR everywhere where local paths are used
951 daniel-mar 178
- when you enter "guid:{0139d44e-6afe-49f2-8690-3dafcae6ffb8}" (which will be corrected in PHP prefilterQuery), JavaScript will not highlight "guid:0139d44e-6afe-49f2-8690-3dafcae6ffb8", because it searches for the brackets
820 daniel-mar 179
- Let the user create shortcuts to any OIDplus-Goto-URLS (e.g. important OIDs) directly in the menu, without writing a plugin?
180
- Auto open some nodes automatically, or open until a specific level (like done in the Resources plugin?)
819 daniel-mar 181
- Let the JavaScript value "oidplus_menu_width" being modified by a design plugin and/or the database config.
182
  A plugin can already do this by using htmlHeaderUpdate() and creating an inline JavaScript to modify the global variable "oidplus_menu_width"
806 daniel-mar 183
- At a lot of forms, if you press "enter", the "form" will not be submitted (e.g. "create ra" plugin), cannot reproduce?
184
- system log plugin: Only show 100 events and let the user switch pages. To avoid that you load a page with 10000+ log entries!
727 daniel-mar 185
- Alpine Linux SVN update: I get the error "svn: warning: W000013: Can't open file '/root/.subversion/servers': Permission denied", although "whoami" is "apache"! (Maybe because the initial checkout was done by root?!)
700 daniel-mar 186
- AutoUpdate via cron?
561 daniel-mar 187
- Login page etc.: If user clicks on a tab, then the gotoedit and static link should change to e.g. "oidplus:login$admin" or "oidplus:login$ra", respectively.
188
        $('#static_link').attr("href", "index.php?goto="+encodeURIComponent(id));
189
        $("#gotoedit").val(id);
532 daniel-mar 190
- Add show_waiting_anim() and hide_waiting_anim() to all AJAX queries, like it is done in plugin "Software update"
451 daniel-mar 191
- #gotobutton should have the same top and height as #gotoedit
267 daniel-mar 192
- RA address data: Country selection box like in OIDInfo
407 daniel-mar 193
	Possible data source: https://datahub.io/core/country-list#resource-data
351 daniel-mar 194
- minimum menu expansion level: make it configurable for all objects and plugins, e.g. so that when you open OIDplus, all OIDs till level 2 are expanded
1084 daniel-mar 195
- There can be an extra table which contains "key - value" fields for each object
196
	Maybe even let the user define fields (with data type) which is then displayed at every OID,
197
	e.g. HL7 could define a lot of fields which are then all displayed at the OIDs and can be edited
153 daniel-mar 198
- API : Make a function that checks if a RA exists, and use it everywhere where needed
256 daniel-mar 199
- Object type plugins : take care that "treeicon.png" and "icon_big.png" exist everywhere (become standard)
122 daniel-mar 200
- freeoid: gmail app does not hyperlink the activation URL. why?
201
- how to avoid invite spamming?
109 daniel-mar 202
- when login expired, remove entries in the treeview
256 daniel-mar 203
- disable specific functions (e.g. invite, login, rainfo, forgot password) if the plugins are not installed (check if class type is registered using class_exists())
351 daniel-mar 204
- <abbr> in <code> is double underlined; that's not good
205
- if you have multiple identifiers, how do you tell the system which identifier should be the preferred one?
25 daniel-mar 206
- show whois links only if folder "whois/" exists
46 daniel-mar 207
- disable autocomplete on some forms
379 daniel-mar 208
- graphical improvements of forms (input edits aligned)
68 daniel-mar 209
- "Documents" section: Make documentation for usage of OIDplus (for members only)
981 daniel-mar 210
- admin config more user friendly, e.g. having the enable/disable object type stuff (like in registration wizard) also in the admin control panel. Also, have types like bool, so we show a checkbox instead of an edit control
351 daniel-mar 211
- it would be good if after the login, the opened nodes in the tree would stay open
212
- html checkbox: make use of "label for"
88 daniel-mar 213
- when javascript fails, the form will be submitted to './' , that is not good! failed javascript must return false, so that the form does not get submitted
214
- admin: show privacy entries from RAs (but grey, so you know that it is private)
351 daniel-mar 215
- admin should be able to edit contact data of a foreign RA [XXX isn't that already implemented?]
216
- freeoid: hide asn.1 and iri columns, because the RA is not allocating these identifiers?
217
- .... maybe we should have a list of OIDs where the OID does not allocate ASN.1/IRI identifiers... then we can also make use of the OID-WHOIS attributes
379 daniel-mar 218
- Privacy flag of RAs: Should there be more privacy levels, e.g. that you don't show your personal name etc.?
351 daniel-mar 219
- You should be able to change the "created" date for an object! Or maybe hide it completely if you don't know the original creation date?
220
- In the CRUD table, you should be able to see the name of the OID? But on the other hand, the title is not in the control of the Superior RA, and the CRUD table is actually the allocation table of the Superior RA.
88 daniel-mar 221
- jstree select: automatically scroll down
533 daniel-mar 222
- jstree: right click "open in new tab" is not possible
351 daniel-mar 223
- things like RA: show more things, address, email etc.
914 daniel-mar 224
- note that we (and the Internet Draft) talk about Objects, but actually OIDs only reference objects, but they are not the objects
379 daniel-mar 225
- Multilang
226
	* Not yet translated:
227
		- plugins\publicPages\100_whois\whois\index.php [Problem: This page is kinda standalone and does not include the OIDplus code]
597 daniel-mar 228
		- vendor\danielmarschall\fileformats\fileformats.conf [Problem: This is a third-party code!]
379 daniel-mar 229
		- includes\classes\VtsBrowserDownload.class.php [Problem: This is a third-party code!]
230
	* Is there some useful German translation of the Apache 2.0 license?
499 daniel-mar 231
- WEID UUID: Show the UUID 2.25/GUID equivalent as alternative ID
412 daniel-mar 232
- When an OID is edited/added/deleted, don't reload the whole tree. Instead, just change the tree! This looks much more fluid.
578 daniel-mar 233
- adminPages/902_systemfile_check/OIDplusPageAdminSystemFileCheck.class.php
234
	Should thumbs.db (case insensitive) and Apple turds be excluded?
235
	On the other hand, these files could then be used to hide malicious data
850 daniel-mar 236
- Actually, there should be two Update-Timestamps: An Update-Timestamp for the Superior RA (i.e. when was the ASN.1/IRI or the RA changed? And a RA Update-Timestamp (i.e. when did the RA change its description?)
2 daniel-mar 237
 
506 daniel-mar 238
UPDATER
1426 daniel-mar 239
- since updater v3, the "software update" tool only checks if the version fits,
240
  it does not check if there are new "development" versions, i.e. commits without new version.
241
  There should be a GitClone or SvnUpdate button everytime, so you can manually update? Or show the -dev version news?
797 daniel-mar 242
- add some kind of loading cricle animation or a progress bar during the update
506 daniel-mar 243
 
239 daniel-mar 244
DATABASE
382 daniel-mar 245
- make usage of Foreign Keys
246
	PROBLEM: we need foreign keys with no check, because
247
	a) we want to keep log entries even if an object/user is deleted
248
	b) log_user.username can also be 'admin' (and therefore not be a foreign key to table 'ra')
249
	c) not every object should have a registered RA. There should be "unknown" RAs where only the email address is known
1177 daniel-mar 250
	d) well-known ASN1/IRI don't require an existing OID
239 daniel-mar 251
 
25 daniel-mar 252
FUTURE
104 daniel-mar 253
- implement sitemaps xml
88 daniel-mar 254
- admin should be able to change wellknown oids?
2 daniel-mar 255
- move oid to different arc
351 daniel-mar 256
- for very large arcs (e.g. PEN): maybe you should not show everything in the tree select?
257
- support for ORS?
258
- "Cutting Edge Technologie": AJAX, JSON, completely UTF-8, CRUD frameworks, PDO, HTML5, Mobile Design, Pure CSS, Autoloading, Object Oriented (maybe not MVC, though), Testing, ...
64 daniel-mar 259
- "Search" plugin: Feature to search inside documentation (doc/ directory)
104 daniel-mar 260
- "Search" plugin: I want to search in all object types and RAs. Not first select the type.
88 daniel-mar 261
- How can we make sure that example objects are not exported using oid-info.com export?
262
- Administrator-Interface: enable and disable object types
161 daniel-mar 263
- detailled change-history of each oid
1016 daniel-mar 264
- Add a "nonce" to all inline JavaScripts and add this nonce to CSP. Then disallow inline-JavaScripts in CSP completely.
2 daniel-mar 265
 
115 daniel-mar 266
BUGS?
499 daniel-mar 267
- BUG! RA is logged in, then it is deleted => the RA can still edit their OIDs, since their session is not destroyed
144 daniel-mar 268
- OIDplus does not work in Safari Mobile!
269
	1. You cannot scroll the OID grid, as the scrolling affects the whole page, not the grid.
270
	2. JQueryUI sliders cannot be dragged
115 daniel-mar 271
 
104 daniel-mar 272
REJECTED IDEAS
501 daniel-mar 273
- well known OIDs: Should also the RA address be recorded? (so that you cannot create a 2.999 OID and telling that you are the RA?)
410 daniel-mar 274
- should there more than one person be able to manage an OID? (multiple emails per "RA" ?)
88 daniel-mar 275
- record first RA and current RA => X.660 does not have this requirement
276
- markers DRAFT, LEAF and FROZEN etc. => use "Protected" if you want to make it invisible
320 daniel-mar 277
- Giving the "goto" argument OIDs instead of names, so that there are no conflict
278
  with plugin vendors (like it was done with the "plugin" argument at ajax.php)
279
	Rejected due to following reasons:
280
	a) The "goto" parameter should usually be human readable (especially since it is shown at the right top)...
281
	   Having a ViaThinkSoft OID there might get the user confused because they could think that the
282
	   page is a OID page request for that OID instead of a plugin page.
283
	b) Vendors should use something like "?goto=oidplus:com.example...."
962 daniel-mar 284
- AID Plugin: When aid_decoder.inc.php finds a mistake, should we forbid to create the AID?
285
	=> Rejected. Some companies might already use invalid identifiers.
1179 daniel-mar 286
- oidplus dependency system (dependency plugin oid in manifest) => Rejected. Check dependencies in the init() method of a plugin.
2 daniel-mar 287
 
433 daniel-mar 288
LOGS
289
- prune logs entries? automatically prune things like "logged in" but not prune OID changes, etc?
290
- admin logs: don't show all logs. load more log entries as soon as the page is scrolled down
291
- when user changed email from "A" => "B", then all previous log events for "A" are not visible for "B" anymore!
292
	=> should we also change the log entry email address references when the user changes their email address?
455 daniel-mar 293
- At "oidplus:system_log", user log section and object log section, the users and/or objects should be clickable
433 daniel-mar 294
 
4 daniel-mar 295
IDEAS
1405 daniel-mar 296
- Backup plugin (adminPage 401): Use an INTF_OID_ interface let other plugins backup/restore their own data/tables, too.
297
- Backup plugin (adminPage 401): In addition to the already existing database backup, also let the user choose to download a ZIP containing userdata and userdata_pub
829 daniel-mar 298
- admin plugin that shows the recent oid edits / inserts?
299
- in the search feature, search for object creation/update date?
828 daniel-mar 300
- adminPages/800_plugins: We could also list plugins that have been blacklisted in the config? But that is hard to achieve, because these plugins are ignored and not loaded at all
794 daniel-mar 301
- Similar to Security Event Token, we could issue JWT tokens which log the allocation of an OID to an RA. This signed token can be stored somewhere and can be used to proove the ownership of an OID.
715 daniel-mar 302
- have an option to assign a custom icon to any object in the system (file attachment with name "icon.*"?). Especially useful for easy visual distinguishing between root objects inside 'Other objects', but may be useful for other object types too.
612 daniel-mar 303
- Give configuration settings a type (int, bool, enum, etc.) so that the configuration page can be more user friendly (use a checkbox rather than typing "1" and "0")
304
	Even better: Give plugins the opportunity to display their own config GUI, exactly like OOBE does
501 daniel-mar 305
- OID-WHOIS: For well-known OIDs, e.g. IANA PEN, show information where to retrieve information
306
	=> Problem: Well-known OIDs are implemented as ASN/IRI identifiers only; no information in table "objects"!
307
- Should plugins be able to add additional object sub-nodes/pages into the tree,
308
  which are not "real" objects? For example, in the object tree,
309
  you could include file attachments [by File Attachment Plugin].
310
  Also, Object Type Plugins could add more sub-nodes/pages into the
311
  tree, for example if you have object types where each object
312
  consists of various components.
564 daniel-mar 313
  => currently OIDplus::menuUtils()->tree_populate() handles the object tree loading
426 daniel-mar 314
     ... but shouldn't this task do the plugin publicPages/000_objects ?
315
     ... then we could establish an API which can give object type plugins the possibility to add additional children
407 daniel-mar 316
- Hide/Proxy RA E-Mails from public requests
382 daniel-mar 317
- let users choose their own creation arc
368 daniel-mar 318
- In regards multilinguality: Allow "oidplus_base$dede.css", so that languages can have their own CSS (e.g. wider "Go" button)
319
	But this means that a language change also need to reload the style sheet (like the color-plugin does when you click "Test")
184 daniel-mar 320
- when an object was not found, the error message could show the next possible known object (like WebWHOIS does)
183 daniel-mar 321
- the "goto" quickbar (at the top right) could also be used to search something ...
322
- ... alternatively, the "object not found" error page could link to the search plugin
142 daniel-mar 323
- make color plugin available for everyone. Admin may permanently save the colors, but users should be able to set their own theme, saved via cookies
4 daniel-mar 324
- there should be a form where an RA can request an invitation, even if the superior RA did not invite them.
325
  the fact that a RA exists in the Object Table should permit the RA to invite theirself.
13 daniel-mar 326
- make a list of OIDs that do not assign ASN1/IRI identifiers (e.g. IANA PEN or ViaThinkSoft FreeOID), then reject any identifier the user provides
26 daniel-mar 327
- sanitize IPv4, IPv6, GUID during creation
1178 daniel-mar 328
	at IPv4 and IPv6: - if it is a single host address, don't put /32 or /128 suffix
329
	                  - strike unnecessary bits that are not defined in the netmask (also at the whois output)
144 daniel-mar 330
- let the sysadmin decide if they want the title be "systemtitle - object title" or "object title - systemtitle"
331
- should a RA be able to mark their own oid as confidential, instead of asking the superior RA?
165 daniel-mar 332
- vendor signature to plugins + viathinksoft signatures + "check" program if all signatures match
451 daniel-mar 333
	Why do we need it?
334
		We want to make sure that the OIDplus files aren't modified by hackers (e.g. replaced by a webshell)
335
		Unfortunately, we can only verify our own files. Plugins by vendors cannot be checked.
336
	Problem:
337
		We cannot store the ViaThinkSoft public key or the checking-tool in the OIDplus directory,
338
		because then they could be altered by the hacker.
339
		We also cannot add a "verified" icon in the "Plugins" admin section,
340
		because this could also be fake.
341
		The only solution to verify the OIDplus installation is to run a tool that
342
		is downloaded on-demand over a secure connection.
343
	Solution:
344
		1. The OIDplus installation contains a file "signature.md5" that contains the MD5 sums of all files.
345
		   The whole file is RSA signed with a ViaThinkSoft key.
346
		2. We should offer a tool which can be started on-demand by running something like:
1439 daniel-mar 347
		   curl -sSL https://www.oidplus.com/signature_check/ | bash
451 daniel-mar 348
		   This tool contains a check procedure and the ViaThinkSoft public key,
349
		   and verifies the OIDplus installation.
350
		3. The tool should also warn if there are missing or additional files,
351
		   because some additional files may be executed (e.g. if they are located in includes/db_updates/)
352
		4. With every new release of OIDplus, this file must be re-generated!
181 daniel-mar 353
- have a menu item (plugin) "latest updates" which lists OIDs that have been changed or added recently?
204 daniel-mar 354
- (unsure:) would it be good if the superior RA comment is shown in the object page itself?
385 daniel-mar 355
- Protect attachments with a password? (Information objects?)
501 daniel-mar 356
- IPv4/IPv6 plugin: Should we allow that private IPs are put into categories (e.g. different physical locations having the same subnet?)
357
- Like in OOBE, plugins should give the possibility to add an individual UI in the "oidplus:edit_config" page
358
- Login area: The "administrator" node in the treeview could be clicked, leading to a page that contains a link to all sub pages (big icons ordered in a grid?)
779 daniel-mar 359
- "Invisible/service" plugin type, like page plugins, but they have no gui() method. They can be used for a simple task like extending HTTP headers
1020 daniel-mar 360
- OAuth for admin login? (email of administrator)
361
- SAML 2.0 SSO auth plugin?
4 daniel-mar 362
 
104 daniel-mar 363
QUESTIONS
4 daniel-mar 364
- should the collation be case sensitive or case insensitive? For Java package names, it should be case senstivie
351 daniel-mar 365
- use word "guid" or "uuid"?
61 daniel-mar 366
- should "OID updated" be split into two categories "updated by superior" (e.g. identifiers) and "updated by owner" (description etc)?
1410 daniel-mar 367
- Don't renew "updated" field if you just click "Update" but didn't change anything
63 daniel-mar 368
- "Documents" section: Can base of URLs/images inside the HTML be changed automatically?
4 daniel-mar 369
 
499 daniel-mar 370
PRIVACY
597 daniel-mar 371
- bring back "vendor/cookiecontent"? DM 28 May 2019: Removed CookieConsent temporarily, because it is placed at the beginning of the page and therefore ruins the Google index ...
215 daniel-mar 372
	=> We might not need it, because cookies are only set during login, and at the login page itself, we already warn about cookies, in addition to the Privacy documentation
379 daniel-mar 373
- Cookie law:
597 daniel-mar 374
	Download CookieConsent code into vendor folder, do not hotlink it
379 daniel-mar 375
	we need to log all consents
376
	do we need an explicit consent at the login form?
377
	do we need a consent for the cookie SSL_CHECK?
214 daniel-mar 378
 
16 daniel-mar 379
GUID Management
380
- Leaf nodes (GUIDs) should show/edit the Title in the CRUD, so you dont have to click the GUID to see the title
351 daniel-mar 381
- weird bug: when i edit "guid:oidplus", then, after reload the treeview after the update, "guid:activedirectory" will be opened. somehow, the last opened node will be opened during the reload?!