All Classes and Interfaces
Class
Description
Cached data list.
Metadata Item listeners that will be triggered once a metadata is
added/delete/updated/shared
Job executing the account deletion requests whose grace delay elapsed: no
business logic, it delegates the whole processing to
AccountDeletionService.Executes the account deletion requests recorded by
AccountDeactivationService, once their grace delay elapsed.The real time list access for activities.
A cache selector to purge aactivities from cache having an attachment
identified by its id
Immutable activity data.
Created by bdechateauvieux on 3/24/15.
This is an abstract class that is the base class of component plugins that
will handle Activity attachments storage
Immutable activity key.
Immutable activity count key.
Class ActivityManagerImpl implements ActivityManager without caching.
A cache selector to purge activities from cache using Metadata objectType and objectId
A listener to handle Metadata lifecycle switch Activity lifecycle
A plugin to generate a permanent link to a given activity/comment/reply
PublicationPlugin contributing scheduled activities (posts) to the
generic content publication mechanism, delegating operations to
ActivityManagerThe activity resource bundle plugin for registering external resource bundle
for I18N activity type.
A listener to handle Tag update for Activity and Comment lifecycle
Factoring activity cache.
Sends branded HTML emails to platform users: a caller provides the resolved
subject, a content fragment (the paragraphs specific to its email) and
optional custom tokens; this sender injects the fragment in the common
branded layout, resolves the ${...} shared bundle keys in the user language,
then substitutes the standard tokens ($EMAIL_TITLE with the subject, $LANG,
$USER_FULL_NAME, $SITE_NAME, $COMPANY_LINK, $PRIMARY_COLOR) before sending
through the mail service.
Immutable cached data.
Cache support for IdentityStorage.
Cache support for RelationshipStorage.
Immutable data key.
Used by FutureCache to execute the ServiceContext.
TODO change to component when CategoryIndexingConnector moved to be managed
by Spring
The realtime list access for comments of activities.
Aggregates, over a set of indexed profiles, the values their profile
properties have in common.
The connection list access Type Enum.
ListAccess is used in loading connection with the input identity.
The connection list access Type Enum.
Job publishing scheduled contents which are due: no business logic, it
delegates the whole publication processing to
ContentPublicationService which dispatches per content typeGeneric content publication Service, dispatching scheduled publication
operations to the
PublicationPlugin registered for each content
type.A provider for identity of groups.
Provides methods to manage the binding between a space and an organization
group.
GroupSpaceBindingService
implementation.A listener that extends
ProfileListenerPlugin It will be triggued
when profile is updated to make profile properties synchronization with
organization groups: - Check for every profile property is it should be
synchronized using the ProfilePropertyService - if yes, create the
group related to this property (if the group not exist) - Add the profile
owner to the groupProcesses any i18n on activity to a dynamic new activity with the i18n title.
Immutable identity composite key.
Immutable identity data.
Immutable identity filter key.
Immutable identity key.
Class IdentityManagerImpl implements IdentityManager without caching.
Adds one or several IM types in declarative form: by ID and name, where ID configured as value-param name
and type name as the value.
Immutable integer.
Cache selector for last accessed spaces.
Builds and provides default links and links of users, spaces and activities.
Immutable activity list keys.
Immutable activity list key.
Immutable list keys.
Immutable list key.
Immutable identity list keys.
Immutable identity list key.
Immutable relationship list keys.
Immutable relationship list key.
Immutable space list keys.
Immutable space list key.
Created by bdechateauvieux on 7/7/15.
A processor that substitute @username expressions by a link on the user
profile
Retrieves the list of Metadatas to attach to activity.
A Service to inject Default Left Menu configuration on server startup
A Service to manage Topbar and Sidebar configurations
Keeps
SOC_ORGANIZATIONAL_UNIT in sync with the organization service:
refreshes the denormalized label when a group is renamed, and drops the row
when a group is deleted.The Class OrganizationIdentityProvider.
Reacts to Layout's
layout.page.updated / layout.page.permissions.updated
events to keep the "page" search index in sync with how a page is
represented there (see PageContentIndexingConnector): by one
document per content block backed by a registered
PageContentBlockPlugin currently on its
layout, or — when it carries none — by a bare page document.Shared helpers telling whether a
CMSSetting
is still backed by a widget actually present on its page's layout.Indexes portal Pages for the unified search bar, as two kinds of documents
sharing one index:
a content block document per block bound to the page through a
CMSSetting whose type is backed by a registered
PageContentBlockPlugin — generic across content-block types, no
knowledge of any specific addon (e.g.Searches pages previously indexed by
PageContentIndexingConnector
(index alias page_content_alias) for the unified search bar —
content block documents and bare page documents alike, both carrying the
page's title, name and site.Unindexes every document still indexed under a page that stopped being
searchable — its content blocks as well as its bare page document (see
PageContentIndexingConnector) — the gap
PageContentBlockIndexingListener documents it cannot cover, since
that listener only reacts to a page that still exists and is still
reachable.Reacts to the portal's own
LayoutService.PAGE_CREATED /
LayoutService.PAGE_UPDATED events — broadcast by every path that
stores a page, the layout editor included — to index the bare page
document (see PageContentIndexingConnector) of a page that
PageContentBlockIndexingListener never hears about: a page
imported from a site or space template, injected by an addon's
configuration, or saved through the portal API rather than through the
Layout addon's services, which are the only ones broadcasting
layout.page.*.A page as displayed in the unified search result list — either one of its
indexed content blocks, or the page itself when it carries none (found by
name only: no excerpt, no author, no date).
Immutable profile data.
ListAccess is used in loading identity with the input profile filter.
The Profile list access Type Enum.
Publish updates onto the user's activity stream when his profile is updated.
This plugin will store activity attachment files using FileService
GroupSpaceBindingStorage implementation.Glue listener (no business logic): an unlike made through the legacy like
endpoints must not leave the reactor's typed reaction item behind — the
cleanup itself lives in
ReactionService.Immutable relationship count key.
Immutable relationship data.
Immutable relationship key.
Immutable relationship key.
The Class RelationshipManager implements RelationshipManager without caching.
Publish a status update in activity streams of 2 confirmed relations.
Factoring relationship cache.
Glue listener, no business logic: when an activity or a comment is edited by
its author, delegates to
ActivityReportService so every active
report on it is flipped to stale and reporting becomes available again.Reports always anchor on the activity/comment itself.
Service to manage Search connectors
Kind of closure.
Immutable simple data.
Reacts to
UserPortalConfigService.SITE_TEMPLATE_INSTANTIATED —
broadcast once a site's configuration, pages and navigation have
all been created from a template, as happens for a new space's site or a
site an administrator creates — to index the bare page document (see
PageContentIndexingConnector) of every page of the new site.SocialMembershipListenerImpl is registered to OrganizationService to handle
membership operation associated with space's groups.
Listens to user updating events.
Immutable space data.
Cache key of a space listing or count: the listing scope (
SpaceFilterKey.type,
SpaceFilterKey.userId, SpaceFilterKey.viewerId) and an immutable, serializable snapshot
of every SpaceFilter field.Provides the identity for a space
Immutable space key.
A listener to delete associated metadata to a deleted Space
A plugin to generate a permanent link for a given space and to parse an url
to generate the an object represented by Type and Id
A listener to change public site visibility if the space has become hidden
SpaceUtils Utility for working with space
Created by bdechateauvieux on 3/26/15.
Created by bdechateauvieux on 4/1/15.
ListAccess is used in loading users with the input profile filter.
Write-side access to
SOC_USER_PERMISSION, the source of truth kept in
sync with the organization service by
io.meeds.social.identity.permission.listener.Reacts to group-level changes affecting
SOC_USER_PERMISSION:
a deleted group must drop its rows;
linking/unlinking a nested group affects every member of the child group,
so it is handled in batches, via
UserPermissionNestedMembershipListener.
Indexes a dedicated, user-keyed
social_user_permission ES document
per user (id = username), one permissions keyword array of
"<membershipType>:<groupId>" tokens (direct + inherited)Keeps
SOC_USER_PERMISSION (direct + inherited rows) and the
social_user_permission ES index in sync with every membership change,Handles the nested-group link/unlink
affects every member of the child group.
A plugin to generate a permanent link to a given user profile
Holds the timezone of each user, the one his browser lives in, under the
profile attribute
Profile.USER_TIME_ZONE.