View Issue Details

IDProjectCategoryView StatusLast Update
389RackTablesdefaultpublic2011-03-10 10:15
Reporterinfrastation Assigned Toinfrastation  
PrioritynormalSeveritymajorReproducibilityN/A
Status closedResolutionfixed 
Target Version0.19.2 
Summary389: file layout redesign, step 3
DescriptionScope of step 3:

3.1. Merge contents of all root *.php files in a library, and leave index.php the only file in "wwwroot". The final file must be shortest possible.

3.2. Make it possible to read configuration from a custom directory outside of "wwwroot".

3.3. Make it possible to serve all static content through index.php, in case it is located outside of "wwwroot". However, leave the possibility to have this content served directly by HTTP server.
Additional InformationImplementation notes on 3.1 and 3.2.

This desired single entry point would look like:

---
$racktables_mode = 'interface';
$racktables_confdir = '/directory/of/secret.php/';
require_once '/path/to/init.php';
---

---
require_once '/path/to/init.php';
run_http ('/path/to/secret.php');
---

---
require_once 'inc/init.php'; // relative path shouldn't make any problems
run_http(); // path to secret.php is derived from the cached and decoded path to init.php
---

Such bootstrap simplifies running multiple instances of the software from the same installation. The entry point will detect its "mode of operation" and dispatch the request respectively:

"interface" (default) -- runInterface() // index.php
"redirect" -- runRedirect() // process.php
"image" -- runImage() // render_image.php
"install" -- runInstaller() // install.php
"install-text" -- idem, with text/plain output
"upgrade" -- runUpgrader() // upgrade.php
"upgrade-text" -- idem, with text/plain output
"download" -- runDownload() // download.php
"popup" -- runPopup() // popup.php
"ajax" -- runAJAX() // ajax.php
"script" -- initialize only // $script_mode == TRUE
"chrome" -- optional static content proxy instead of direct HTTP requests
TagsNo tags attached.

Activities

infrastation

infrastation

2011-02-24 18:16

administrator   ~0000275

Additional note on 3.2 WRT gateways.

The respective code is antiquated, hence in scope of this work it is OK to take care only of the following files:

deviceconfig/switch.secrets.php
switchvlans/cisco.secrets.php (probably merging with the above)
switchvlans/vlandecoder
switchvlans/vlantable

This stand for:
1. Adding an extra parameter to each of 7 "*.connector" files to tell the location of secrets file.
2. Idem for 2 "main" files.
3. Once the "racktables_confdir" parameter is introduced into the codebase, always pass it from inc/gateways.php to respective "main" dispatcher.
infrastation

infrastation

2011-03-03 19:04

administrator   ~0000291

Done: "image", "download", "chrome" ("tsuri").
infrastation

infrastation

2011-03-05 16:57

administrator   ~0000296

Done: "ajax", "redirect", "interface", "popup".
infrastation

infrastation

2011-03-07 11:11

administrator   ~0000297

3.3 -- done, but without direct access to files (all requests always come through the proxy)
infrastation

infrastation

2011-03-10 08:08

administrator   ~0000299

3.1 -- done
infrastation

infrastation

2011-03-10 10:15

administrator   ~0000300

3.2 -- done

Closing, the rest will be completed in scope of the next rounds.

Issue History

Date Modified Username Field Change
2011-02-03 23:41 infrastation New Issue
2011-02-03 23:45 infrastation Description Updated
2011-02-20 15:54 infrastation Description Updated
2011-02-20 15:54 infrastation Additional Information Updated
2011-02-24 18:16 infrastation Note Added: 0000275
2011-02-24 18:17 infrastation Target Version => 0.19.3
2011-02-24 22:16 infrastation Status new => assigned
2011-02-24 22:16 infrastation Assigned To => infrastation
2011-03-02 13:07 infrastation Additional Information Updated
2011-03-02 13:09 infrastation Description Updated
2011-03-03 13:55 infrastation Target Version 0.19.3 => 0.19.2
2011-03-03 19:04 infrastation Note Added: 0000291
2011-03-05 16:57 infrastation Note Added: 0000296
2011-03-07 11:11 infrastation Note Added: 0000297
2011-03-10 08:08 infrastation Note Added: 0000299
2011-03-10 10:15 infrastation Note Added: 0000300
2011-03-10 10:15 infrastation Status assigned => closed
2011-03-10 10:15 infrastation Resolution open => fixed