Anniepoo / weblog

Web Framework for SWI-Prolog
GNU Lesser General Public License v3.0
41 stars 7 forks source link

Create a dashboard through distributed DCGs (was: "keys demanded") #9

Open Anniepoo opened 11 years ago

Anniepoo commented 11 years ago

Currently all keys are absolutely required.

This is wrong - most weblog users won't need every single external feed and function.

Imagine some day in the future - we have keys for 6 different map providers, 4 different geo data providers, etc etc ad nauseum - making every user sign up for every one of them doesn't scale.

We need a solution that lets people populate only what they need. Wouter, over to you to think about solutions since you put the keys check in.

Anniepoo commented 11 years ago

I've put a temp fix in development that makes the error messages less in your face and reworded them so it's clearer that it's not an absolute need.

In the long run, how about we have a dashboard page that interactively helps set these things?

Maybe accordion, with the sections colored or otherwise marked with ok/wants key. Have a hook predicate to register info about an external key and replace the current settings

Be nice if it used edit/1 to bring up the page with the key.

Might be better architecture to check in googlemapkey.pl instead of googlemapkey.pl.example, but have a multifile flag predicate key_available(googlemaps, false). % change me to true when you set the key so we're clear and semantic and there's no hack.

Anniepoo commented 11 years ago

Can't check in the actual .pl file - it's a pain for interacting with git.

wouterbeek commented 11 years ago

Hi Annie,

I like your option of a dashboard, at least for some uses of weblog that would work quite nicely. I'm not sure how that fits in with the goal of making weblog as modular as possible: separately usable widgets. A dashboard seems to introduce at least some form of centralization, but that may also depend on the way in which it is implemented.

Cheers!, Wouter.

Anniepoo commented 11 years ago

Good point!
OK, no dashboard

Anniepoo commented 11 years ago

OK, here's an idea - what if we have a multifile predicate like wl_external_resource(Name, Value), and provide a DCG that makes the dashboard. That way the only central point is wl_external_resource/2 We already have a dependency with having the common keys directory