![]() |
Download TeamPage 6.2 | ![]() |
Apr 20, 2018 4:43:01 PM com.google.common.eventbus.EventBus$LoggingHandler handleException
SEVERE: Exception thrown by subscriber method onServerMessageEvent(core.traction.event.ServerMessageEvent) on subscriber core.traction.server.jetty.Me
ssageRouter@xxxxxxxx when dispatching event: core.traction.event.ServerMessageEvent@xxxxxxxx
com.traction.sdk.Entry contains a new interface and two new enums that implement it:
/**
* Represents a role that one or more Users can have with
* respect to an, and provides a mapping from an Entry to a
* UserSet.
*
* @author Dave Shepperton
*/
public static interface UserRole {
/**
* Returns a Function that provides a mapping from an
* Entry to a UserSet reflecting the
* Users who have this role for the Entry.
*/
public Function<Entry,UserSet> entryToUsers();
}
public static enum StandardIntrinsicUserRole implements UserRole {
/**
* The contributors to an Entry.
*/
CONTRIBUTORS,
/**
* The users mentioned in an Entry's content.
*/
MENTIONED;
}
public static enum StandardAuthoredUserRole implements UserRole {
/**
* Users who are considered the assignees for an entry that
* represents a task.
*/
ASSIGNEES,
/**
* Users who are considered the invitees for an entry that
* represents an event.
*/
INVITEES,
/**
* Users who are considered members for an entry that supports
* some sort of membership, such as projects.
*/
MEMBERS,
/**
* Users who are considered owners for an entry that supports
* some sort of ownership, such as projects.
*/
OWNERS,
/**
* Users who have been subscribed to instant notifications of
* activity by an entry author or editor.
*/
SUBSCRIBERS;
}
StandardAuthoredUserRoles are handled by these new EntryClass methods:
public Set<User> getUsers(Entry entry, Entry.StandardAuthoredUserRole role);
public Set<User> getUsersAssigned(Entry entry);
public Set<User> getUsersInvited(Entry entry);
public Set<User> getUsersMembers(Entry entry);
public Set<User> getUsersOwners(Entry entry);
public Set<User> getUsersSubscribed(Entry entry);
Entry to provide direct access to those Users in the form of a com.traction.sdk.UserSet :
public UserSet getAssignees();
public UserSet getInvitees();
public UserSet getMembers();
public UserSet getOwners();
// This will likely be changed to "getSubscribers"
public UserSet getAutomaticSubscribers();
EntryClasses that override one or more of those newly added methods with an alternative implementation of their choosing. For example, a custom task EntryClass could extend com.traction.sdk.TaskEntryClass (see below), and could override the getUsersAssigned method to pull in users from other entry properties to have those users treated as assignees for the purposes of receiving instant notifications. (Server89038)EntryClass's long-deprecated checkCanAuthorOrEditQ method has been removed, as has the rarely used checkCanAuthorByEmailQ method. There are now four separate methods that can be used to find out whether an EntryClass can be used by a particular user:canAuthor(com.traction.sdk.Context) canComment(com.traction.sdk.Context) canEdit(com.traction.sdk.Context) canAuthorByEmail(com.traction.sdk.Context) com.traction.sdk.view.ViewActionDisplay classes, wherever checkCanAuthorOrEditQ was previously used, the applicable one of these newly added methods is now used so that the links or buttons for adding or editing entries belonging to various EntryClasses continue to be included or omitted as appropriate for the viewing user and the context.EntryClasses representing entry types in TeamPage's PM module have been moved around and reorganized.PMEntryClass and TaskEntryClass have been moved to com.traction.sdk , making them part of the public SDK API.com.traction.sdk.GoalEntryClass and MilestoneEntryClass, extending PMEntryClass, have been added to represent separate types for project and milestone entries, respectively.com.traction.sdk.EventEntryClass , extending EntryClass, has been added to represent a separate type for event entries.com.traction.sdk.EntryClass classes representing "microblog" entry types:StatusEntryClass class, which is associated with status update entries, has been moved to the com.traction.sdk , making it part of the public SDK API.LiveblogEntryClass, also in com.traction.sdk , which is associated with still supported but not currently used "liveblog" entry type.com.traction.sdk.AbstractMicroblogEntryClass .EntryClasses, and the relationships among them. (Server88772)