Skip to content
This repository has been archived by the owner on Mar 22, 2018. It is now read-only.

Global user permissions and recording user data #37

Open
RobertoMinelli opened this issue Nov 9, 2015 · 2 comments
Open

Global user permissions and recording user data #37

RobertoMinelli opened this issue Nov 9, 2015 · 2 comments
Labels

Comments

@RobertoMinelli
Copy link
Owner

On a side note at the moment there is a completely new mechanism for asking users for permission for recording user data in Moose together with a new infrastructure for recording user data based on announcements for the current GTools (inspector/spotter/playground). For now it's just in the Moose image (GT-EventRecorder) but we want to get it into Pharo in a few days.

@RobertoMinelli
Copy link
Owner Author

Look at GTSpotterEventRecorder

@RobertoMinelli
Copy link
Owner Author

You can start by having a look in the GT-EventRecorder package from the latest moose image.
GT-EventRecorder-Core contains the main classes involved; they have nice class comments :)

In short:

  • GlobalIdentifier maintains a global identified for the current computer
  • Privacy handles the settings for sending usage data
  • GTEventCollector gets the events from tools.
    • each collector can define an url where the data will be sent
  • multiple collectors can be grouped together using GTEventCollectors.
  • GTEventRecorder is responsible for getting data from collectors and sending it to a server
    • GTEventDelivery is actually used to send the data
    • GTEventPacking and GTEventUnpacking actually handle the data

GT-Spotter-EventRecorder implements one type of collector for Spotter.
Internally spotter uses announcements for everything. The collectors just listens to all events and converts those events that need to be recorded to an instance of GTSpotterRecorderEvent.
These events are the one that are then serialized and send to the server.
We had to do it this way as we cannot instrument the code of spotter and develop spotter at the same time.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant