-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add possibility to create Mobile Apps in Sites Management (and later any type) #7893
Comments
We actually need the possibility to require plugins. See #4485 |
So far we came to the following definition. A property (eg Some more of my thoughts: In general we might differentiate between
A Any plugin can extend any It will be quite hard to differentiate between those 3 things (feature/attribute/setting) for some people and can be overwhelming. Also it is in general not really a good idea to have too many solutions for a problem. That's why we want to maybe simplify it. Eg we could merge On the other side we need to think about what is actually used in which context. This means we might be actually able to use the different terms:
Some conclusions:
To be decided
|
If someone deactivates a plugin that configures a type, how shall we handle that? I'd say we assign the type Update: Turns out it is not as easy to handle this. Instead we will default to a "universal" type if a specific type cannot be found. This also allows people to deactivate and activate a plugin again without losing any information |
I wonder if developers want to create a "UserSetting" that is connected with a particular site/property. We currently have SystemSettings (global setting, can be usually configured only by a super user) and a UserSetting (can be changed by any user, affects only the user). Meaning at some point I reckon there might be the need to let users configure something per property (per website). Imagine the LiveTab plugin. There we have a UserSetting which metric to show in the browser tab. The metric that you want to see might be different per website though. This means we might want to show regular users (not having admin permission) the Sites Manager and let them change some settings per website? (maybe not MVP but at some point). Any thoughts? |
My thoughts: good point, but it is not needed in MVP but maybe interesting later (likely we won't need this feature for a while, ie. until we have one or two use cases) |
It will be pretty important for the code / design as it changes quite a lot. So I reckon we need to find a solution that will allow something like this at some point |
Note: We might have to integrate this into the installation as well (once Mobile Apps plugin is enabled by default) as we currently always let users create a website during installation. TBD |
@tsteur a lot of progress was made on this issue - what is the current status? what work is left for 2.15.0 or for 3.0.0? |
We need to implement everything properly for 3.0.0. Especially the |
I've continued working on this one and been thinking about it a lot re changing our setting API's to make sure it's still possible to refactor, to understand it easily, to get easily values for these settings, easy to use via DI, performance, and been thinking about who wants to use it and now. Ideally it was possible to generate each individual setting etc. Problem is re Measurable settings we do not know enough about it yet and current way of doing things works kind of well so I came to conclusion I don't want to change too much. Possibly I will move I will try to expose all Settings via an API and try to render settings via Angular instead of Twig if possible. Otherwise we always have some kind of hidden requests like iframes in "Manage Measurables" when editing a "measurable" and many settings like "URL" would load very delayed after a measurable was already opened. In order to do this there might be some more changes to the API needed but will try to keep them to a minimum. I might create a table I will try to convert many of our existing measurable settings like URLs, exclude query parameters etc to settings but need to see how it goes. Main problem here is that we need some kind of different storage for these fields as they are stored in |
FYI: I also thought of just using |
…API in Piwik 3
…API in Piwik 3
…API in Piwik 3
@mattab could we move this into the backlog? or maybe it can be even closed? |
This issue needs to be solved for #7131 and #4734
A "type" could be a plugin that defines a type "Website" or "MobileApp". Different types need not only different reports and different naming of reports but also different fields in the Sites Manager. The Sites Manager might become at some point a Property Manager or something else. Naming is not important for now.
A mobile app would not define any URLs but an App-ID such as
org.piwik.mobile
or737216887
.We would maybe also allow to select an App store? Eg Google Play, ... Not needed by core actually but by a App Analytics plugin later. Not sure how to handle this!
Things to consider
site
table all information would be in one place and we can easier return it in API calls of SitesManager but: it would be still slow since we'd have to check read permission for each type of each site and create many instances etccore
does not know anything about Tracking code. Therefore it would be maybe kinda wrong to have a tracking code link definition inType
class? Same might apply for other things. In theory a developer would have to listen to an event on top for this, but that's complicated to doSitesManager.getSiteUrlsFromId
? Site URLs are not as much used in general. But we'd also need to removemain_url
PluginName.SettingName
(might be difficult or impossible)postEvent
(more flexible) or classes auto detection (one setting would always apply to all types)configureSettings
might get pretty longnew NameSetting()
,new ExcludedParameterSetting()
etc.Type
could be also namedView
The text was updated successfully, but these errors were encountered: