SlideShare a Scribd company logo
Customizing User Profiles Andy Keller Director of Engineering Dave Shepperton Senior Software Engineer
Overview User Profile Architecture Customizations Adding new fields Modifying profile display Custom data sources
User Profile Architecture Schema User Profile Display Form Rendering
User Profile Schema Configuration config/data/forms/profile.properties Schema XML config/data/forms/profile.sdl
config/data/forms/profile.properties # special form factory for profiles class=tsi.sdk.data.ProfileFormFactory # located in the current directory xml=config.data.forms.profile # user must be last, because it will store the entry fqid sources=entry,ldap,user # make these entries profiles entry_custom_type=profile
config/data/forms/profile.sdl
config/data/forms/profile.sdl This is XML <?xml version=&quot;1.0&quot;?> Three XML tags <form> <group> <field>
profile.sdl:  <form> The class attribute can be used for css styling Other attributes can be used when the form appears in a dialog title, width <form class=”userprofile-form”>
profile.sdl:  <group> Currently, the only group type is fieldset. There may be more in the future. The label attribute specifies the label for the group. <group type=”fieldset” label=”Basic Information”>
profile.sdl:  <field> Attributes type  - the type of the form control source  - the source of the data for read/write name  - the name of the property label  - the text label for the form field description  - a description of the form field (other)  - Depending on the field type, additional attributes may be used <field type=”text” name=”property_twitter” label=”Twitter ID”>
profile.sdl:  <field>  types text Text input or text area if rows attribute is specified select Pulldown with option elements or special name=project date Date selector that allows choosing a day using a calendar html HTML block that can be used for adding fixed content readonly Displays as non-editable text, often used with source=ldap projectselect Link, click to show select with project list label Label pillbox labelselect Label select input with options or project and prefix  users User pillbox, completes against all users in the system members User pillbox, completes against space members, then all goalselector Allows selection of a goal, called a project in the interface milestoneselector Allows selection of a milestone richtext Coming soon! attachments Coming soon!
User Profiles in Proteus Automatically included in any Proteus view that is in the userprofile tabs family. com/traction/sdl/gwtrpc/userprofile_details.sdl, broken into groups per column: basic, contact, other Modify by overriding individual functions in your plug-in, e.g., plugins/com.example.customprofile/com/traction/sdl/gwtrpc/userprofile_details.sdl
User Profile Entry Tokens profile_title and profile_body use SDL functions in com/traction/sdl/token/profile.sdl
Customizing the User Profile Form For Example: Add a field for the user’s LinkedIn public profile URL In a new plug-in: Create a custom version of the schema Override some SDL functions to display the property in the profile header Override some SDL functions to include the property in full text renderings (for search results)
Customizing the User Profile Form (cont’d) Create a plug-in, e.g. plugins/com.traction.profilelinkedin Copy config/data/forms/profile.sdl used to generate XML schema to plugins/com.traction.profilelinkedin/config/data/forms Add the field where you want it in the form:
Customizing the User Profile Form (cont’d) The structure of the schema is used to automatically generate the form:
Customizing the Display of User Profile Information plugins/com.traction.profilelinkedin/com/traction/sdl/gwtrpc/userprofile_details.sdl, start by copying just these two functions: display-secure-contact  function fill-custom-entry-props  function
Customizing the Display of User Profile Information (cont’d) Profile data are loaded from the User and profile Entry in SDL (com.traction.sdl.token.profile#fill) fill-custom-entry-props  Function Names the Same Property Given in the Schema:
Customizing the Display of User Profile Information (cont’d) Modify the custom version of  display-secure-contact  to display the LinkedIn URL:
Customizing the Display of User Profile Information (cont’d) A separate modification is required to make the property searchable. plugins/com.traction.profilelinkedin/com/traction/sdl/token/profile.sdl, start by copying just these two functions: fulltextbody-custom  function fill-custom-entry-props  function
Customizing the Display of User Profile Information (cont’d) Profile data are loaded from the User and profile Entry in SDL (com.traction.sdl.token.profile#fill) fill-custom-entry-props  Function Names the Same Property Given in the Schema:
Customizing the Display of User Profile Information (cont’d) The  fulltextbody-custom  function can be used to include the property in the full-text rendering so that it appears in search results:
Profile information from Active Directory / LDAP Active Directory Properties Viewed using JXplorer
Profile information from Active Directory / LDAP Add it to the Profile Schema in config/data/forms/userprofile.sdl Render it using user.profile and property.value
Custom DataSources Currently have user, entry, and ldap user  is for user preferences entry  is for entry properties and is used for settings not traditionally in user preferenes ldap  is for properties store in ldap It’s possible to create new sources to pull content from a database, web service, etc.
Ad

More Related Content

What's hot (19)

Oracle D2K reports
Oracle D2K reports Oracle D2K reports
Oracle D2K reports
Rajesh Ch
 
Oleksandr Krakovetskyi - Orchard CMS
Oleksandr Krakovetskyi - Orchard CMSOleksandr Krakovetskyi - Orchard CMS
Oleksandr Krakovetskyi - Orchard CMS
Ciklum Ukraine
 
Orchard
OrchardOrchard
Orchard
Kiev ALT.NET
 
Creating a data report in visual basic 6
Creating a data report in visual basic 6Creating a data report in visual basic 6
Creating a data report in visual basic 6
mrgulshansharma
 
Customize the login homepage For Oracle EBS R12
Customize the login homepage For Oracle EBS R12Customize the login homepage For Oracle EBS R12
Customize the login homepage For Oracle EBS R12
Ahmed Elshayeb
 
SharePoint 2010 For Developers
SharePoint 2010 For DevelopersSharePoint 2010 For Developers
SharePoint 2010 For Developers
Sparked
 
Peoplesoft Basic App designer
Peoplesoft Basic App designerPeoplesoft Basic App designer
Peoplesoft Basic App designer
mbtechnosolutions
 
Bw training 7 bw reporting b ex 1
Bw training   7 bw reporting b ex 1Bw training   7 bw reporting b ex 1
Bw training 7 bw reporting b ex 1
Joseph Tham
 
People soft application-designer-practice-8.43
People soft application-designer-practice-8.43People soft application-designer-practice-8.43
People soft application-designer-practice-8.43
cesarvii
 
Webformer: a Rapid Application Development Toolkit for Writing Ajax Web Form ...
Webformer: a Rapid Application Development Toolkit for Writing Ajax Web Form ...Webformer: a Rapid Application Development Toolkit for Writing Ajax Web Form ...
Webformer: a Rapid Application Development Toolkit for Writing Ajax Web Form ...
Thomas Lee
 
Oracle apps online training
Oracle apps online trainingOracle apps online training
Oracle apps online training
Sekhar Byna
 
O365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side RenderingO365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side Rendering
Riwut Libinuko
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
Sanchit Dua
 
Unit 2
Unit 2 Unit 2
Unit 2
Abhishek Kesharwani
 
Accessing The Oracle Apps Database Without Having A Db Login
Accessing The Oracle Apps Database Without Having A Db LoginAccessing The Oracle Apps Database Without Having A Db Login
Accessing The Oracle Apps Database Without Having A Db Login
jhare
 
Oracle application-development-framework-best-practices
Oracle application-development-framework-best-practicesOracle application-development-framework-best-practices
Oracle application-development-framework-best-practices
Ганхуяг Лхагвасүрэн
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0
Protect724
 
Lec5 ecom fall16_modified7_november16
Lec5 ecom fall16_modified7_november16Lec5 ecom fall16_modified7_november16
Lec5 ecom fall16_modified7_november16
Zainab Khallouf
 
Reusable ui components
Reusable ui componentsReusable ui components
Reusable ui components
Danny Rankevich
 
Oracle D2K reports
Oracle D2K reports Oracle D2K reports
Oracle D2K reports
Rajesh Ch
 
Oleksandr Krakovetskyi - Orchard CMS
Oleksandr Krakovetskyi - Orchard CMSOleksandr Krakovetskyi - Orchard CMS
Oleksandr Krakovetskyi - Orchard CMS
Ciklum Ukraine
 
Creating a data report in visual basic 6
Creating a data report in visual basic 6Creating a data report in visual basic 6
Creating a data report in visual basic 6
mrgulshansharma
 
Customize the login homepage For Oracle EBS R12
Customize the login homepage For Oracle EBS R12Customize the login homepage For Oracle EBS R12
Customize the login homepage For Oracle EBS R12
Ahmed Elshayeb
 
SharePoint 2010 For Developers
SharePoint 2010 For DevelopersSharePoint 2010 For Developers
SharePoint 2010 For Developers
Sparked
 
Peoplesoft Basic App designer
Peoplesoft Basic App designerPeoplesoft Basic App designer
Peoplesoft Basic App designer
mbtechnosolutions
 
Bw training 7 bw reporting b ex 1
Bw training   7 bw reporting b ex 1Bw training   7 bw reporting b ex 1
Bw training 7 bw reporting b ex 1
Joseph Tham
 
People soft application-designer-practice-8.43
People soft application-designer-practice-8.43People soft application-designer-practice-8.43
People soft application-designer-practice-8.43
cesarvii
 
Webformer: a Rapid Application Development Toolkit for Writing Ajax Web Form ...
Webformer: a Rapid Application Development Toolkit for Writing Ajax Web Form ...Webformer: a Rapid Application Development Toolkit for Writing Ajax Web Form ...
Webformer: a Rapid Application Development Toolkit for Writing Ajax Web Form ...
Thomas Lee
 
Oracle apps online training
Oracle apps online trainingOracle apps online training
Oracle apps online training
Sekhar Byna
 
O365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side RenderingO365 Saturday - Deepdive SharePoint Client Side Rendering
O365 Saturday - Deepdive SharePoint Client Side Rendering
Riwut Libinuko
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
Sanchit Dua
 
Accessing The Oracle Apps Database Without Having A Db Login
Accessing The Oracle Apps Database Without Having A Db LoginAccessing The Oracle Apps Database Without Having A Db Login
Accessing The Oracle Apps Database Without Having A Db Login
jhare
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0
Protect724
 
Lec5 ecom fall16_modified7_november16
Lec5 ecom fall16_modified7_november16Lec5 ecom fall16_modified7_november16
Lec5 ecom fall16_modified7_november16
Zainab Khallouf
 

Similar to Customizing User Profiles (20)

Dexterity in the Wild
Dexterity in the WildDexterity in the Wild
Dexterity in the Wild
David Glick
 
Ibm
IbmIbm
Ibm
techbed
 
TYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
TYPO3 + CKEditor: Heaven for TYPO3 Developer & EditorTYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
TYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
NITSAN Technologies
 
Auslug 2011 customising ibm connections
Auslug 2011 customising ibm connectionsAuslug 2011 customising ibm connections
Auslug 2011 customising ibm connections
Adam Brown
 
Social Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes DemystifiedSocial Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes Demystified
Claudio Procida
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling Tool
Adriaan Venter
 
Actionview
ActionviewActionview
Actionview
Amal Subhash
 
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
James Gallagher
 
Coding standards
Coding standards Coding standards
Coding standards
saurabh kapoor
 
Introduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon GauvinIntroduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon Gauvin
Simon Gauvin
 
PM Architecture
PM ArchitecturePM Architecture
PM Architecture
Traction Software
 
Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304
malexanderIBM
 
CustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsCustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputs
Suite Solutions
 
20.1 creating functions_part_20.1
20.1 creating functions_part_20.120.1 creating functions_part_20.1
20.1 creating functions_part_20.1
Oracle HRMS Functional Consultant
 
Unit 2 - Data Binding.pptx
Unit 2 - Data Binding.pptxUnit 2 - Data Binding.pptx
Unit 2 - Data Binding.pptx
Malla Reddy University
 
User Profiles: I Didn't Know I Could Do That (Updated Demo)
User Profiles:  I Didn't Know I Could Do That (Updated Demo)User Profiles:  I Didn't Know I Could Do That (Updated Demo)
User Profiles: I Didn't Know I Could Do That (Updated Demo)
Stacy Deere
 
Drupal CMS: generating reports with the Forena module.
Drupal CMS: generating reports with the Forena module.Drupal CMS: generating reports with the Forena module.
Drupal CMS: generating reports with the Forena module.
Dennis Povshedny
 
C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfolio
cummings49
 
Essential html tweaks for accessible themes
Essential html tweaks for accessible themesEssential html tweaks for accessible themes
Essential html tweaks for accessible themes
Martin Stehle
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0
Protect724
 
Dexterity in the Wild
Dexterity in the WildDexterity in the Wild
Dexterity in the Wild
David Glick
 
TYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
TYPO3 + CKEditor: Heaven for TYPO3 Developer & EditorTYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
TYPO3 + CKEditor: Heaven for TYPO3 Developer & Editor
NITSAN Technologies
 
Auslug 2011 customising ibm connections
Auslug 2011 customising ibm connectionsAuslug 2011 customising ibm connections
Auslug 2011 customising ibm connections
Adam Brown
 
Social Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes DemystifiedSocial Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes Demystified
Claudio Procida
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling Tool
Adriaan Venter
 
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
IBM Connections Activity Stream 3rd Party Integration - Social Connect VI - P...
James Gallagher
 
Introduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon GauvinIntroduction to Polymer and Firebase - Simon Gauvin
Introduction to Polymer and Firebase - Simon Gauvin
Simon Gauvin
 
Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304
malexanderIBM
 
CustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsCustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputs
Suite Solutions
 
User Profiles: I Didn't Know I Could Do That (Updated Demo)
User Profiles:  I Didn't Know I Could Do That (Updated Demo)User Profiles:  I Didn't Know I Could Do That (Updated Demo)
User Profiles: I Didn't Know I Could Do That (Updated Demo)
Stacy Deere
 
Drupal CMS: generating reports with the Forena module.
Drupal CMS: generating reports with the Forena module.Drupal CMS: generating reports with the Forena module.
Drupal CMS: generating reports with the Forena module.
Dennis Povshedny
 
C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfolio
cummings49
 
Essential html tweaks for accessible themes
Essential html tweaks for accessible themesEssential html tweaks for accessible themes
Essential html tweaks for accessible themes
Martin Stehle
 
Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0Asset modelimportconn devguide_5.2.1.6190.0
Asset modelimportconn devguide_5.2.1.6190.0
Protect724
 
Ad

More from Traction Software (20)

Thierry Barsalou - IPSEN CIO - on Traction TeamPage for Competitive Intellige...
Thierry Barsalou - IPSEN CIO - on Traction TeamPage for Competitive Intellige...Thierry Barsalou - IPSEN CIO - on Traction TeamPage for Competitive Intellige...
Thierry Barsalou - IPSEN CIO - on Traction TeamPage for Competitive Intellige...
Traction Software
 
Proteus Navigation and Project Management
Proteus Navigation and Project ManagementProteus Navigation and Project Management
Proteus Navigation and Project Management
Traction Software
 
Capturing and managing non-traditional information for Competitive Advantage....
Capturing and managing non-traditional information for Competitive Advantage....Capturing and managing non-traditional information for Competitive Advantage....
Capturing and managing non-traditional information for Competitive Advantage....
Traction Software
 
Portal or Enterprise Software ? Gilbane 2010 Boston
Portal or Enterprise Software ?  Gilbane 2010 BostonPortal or Enterprise Software ?  Gilbane 2010 Boston
Portal or Enterprise Software ? Gilbane 2010 Boston
Traction Software
 
Attivio - What's New in AIE 2 and Dictionary Management
Attivio - What's New in AIE 2 and Dictionary ManagementAttivio - What's New in AIE 2 and Dictionary Management
Attivio - What's New in AIE 2 and Dictionary Management
Traction Software
 
Managing and Monitoring TeamPage
Managing and Monitoring TeamPageManaging and Monitoring TeamPage
Managing and Monitoring TeamPage
Traction Software
 
Adventures in 21st Century Organizational Design
Adventures in 21st Century Organizational DesignAdventures in 21st Century Organizational Design
Adventures in 21st Century Organizational Design
Traction Software
 
Traction Training and Enhancements at FDA - CDRH
Traction Training and Enhancements at FDA - CDRHTraction Training and Enhancements at FDA - CDRH
Traction Training and Enhancements at FDA - CDRH
Traction Software
 
Proteus SDK
Proteus SDKProteus SDK
Proteus SDK
Traction Software
 
From Mexico to Proteus
From Mexico to ProteusFrom Mexico to Proteus
From Mexico to Proteus
Traction Software
 
A Deep Dive into Profiles, Status, and PM
A Deep Dive into Profiles, Status, and PMA Deep Dive into Profiles, Status, and PM
A Deep Dive into Profiles, Status, and PM
Traction Software
 
TeamPage Beginner to Jedi, Jordan Frank
TeamPage Beginner to Jedi, Jordan FrankTeamPage Beginner to Jedi, Jordan Frank
TeamPage Beginner to Jedi, Jordan Frank
Traction Software
 
Observable Processes, Kevin Duprey
Observable Processes, Kevin DupreyObservable Processes, Kevin Duprey
Observable Processes, Kevin Duprey
Traction Software
 
Patterns of Observable Work, Brian Tullis
Patterns of Observable Work, Brian TullisPatterns of Observable Work, Brian Tullis
Patterns of Observable Work, Brian Tullis
Traction Software
 
Communication / Collaboration / Content / Competition, Peter O'Kelly
Communication / Collaboration / Content / Competition, Peter O'KellyCommunication / Collaboration / Content / Competition, Peter O'Kelly
Communication / Collaboration / Content / Competition, Peter O'Kelly
Traction Software
 
Traction 2010 Update, Chris Nuzum, Traction Software
Traction 2010 Update, Chris Nuzum, Traction SoftwareTraction 2010 Update, Chris Nuzum, Traction Software
Traction 2010 Update, Chris Nuzum, Traction Software
Traction Software
 
Doing and Managing Knowledge Work, Jim McGee
Doing and Managing Knowledge Work, Jim McGeeDoing and Managing Knowledge Work, Jim McGee
Doing and Managing Knowledge Work, Jim McGee
Traction Software
 
Being Observable, Jon Udell
Being Observable, Jon UdellBeing Observable, Jon Udell
Being Observable, Jon Udell
Traction Software
 
Traction TeamPage Release 4.2 Highlights
Traction TeamPage Release 4.2 HighlightsTraction TeamPage Release 4.2 Highlights
Traction TeamPage Release 4.2 Highlights
Traction Software
 
Traction Software Showcases New Collaboration Capabilities
Traction Software Showcases New Collaboration CapabilitiesTraction Software Showcases New Collaboration Capabilities
Traction Software Showcases New Collaboration Capabilities
Traction Software
 
Thierry Barsalou - IPSEN CIO - on Traction TeamPage for Competitive Intellige...
Thierry Barsalou - IPSEN CIO - on Traction TeamPage for Competitive Intellige...Thierry Barsalou - IPSEN CIO - on Traction TeamPage for Competitive Intellige...
Thierry Barsalou - IPSEN CIO - on Traction TeamPage for Competitive Intellige...
Traction Software
 
Proteus Navigation and Project Management
Proteus Navigation and Project ManagementProteus Navigation and Project Management
Proteus Navigation and Project Management
Traction Software
 
Capturing and managing non-traditional information for Competitive Advantage....
Capturing and managing non-traditional information for Competitive Advantage....Capturing and managing non-traditional information for Competitive Advantage....
Capturing and managing non-traditional information for Competitive Advantage....
Traction Software
 
Portal or Enterprise Software ? Gilbane 2010 Boston
Portal or Enterprise Software ?  Gilbane 2010 BostonPortal or Enterprise Software ?  Gilbane 2010 Boston
Portal or Enterprise Software ? Gilbane 2010 Boston
Traction Software
 
Attivio - What's New in AIE 2 and Dictionary Management
Attivio - What's New in AIE 2 and Dictionary ManagementAttivio - What's New in AIE 2 and Dictionary Management
Attivio - What's New in AIE 2 and Dictionary Management
Traction Software
 
Managing and Monitoring TeamPage
Managing and Monitoring TeamPageManaging and Monitoring TeamPage
Managing and Monitoring TeamPage
Traction Software
 
Adventures in 21st Century Organizational Design
Adventures in 21st Century Organizational DesignAdventures in 21st Century Organizational Design
Adventures in 21st Century Organizational Design
Traction Software
 
Traction Training and Enhancements at FDA - CDRH
Traction Training and Enhancements at FDA - CDRHTraction Training and Enhancements at FDA - CDRH
Traction Training and Enhancements at FDA - CDRH
Traction Software
 
A Deep Dive into Profiles, Status, and PM
A Deep Dive into Profiles, Status, and PMA Deep Dive into Profiles, Status, and PM
A Deep Dive into Profiles, Status, and PM
Traction Software
 
TeamPage Beginner to Jedi, Jordan Frank
TeamPage Beginner to Jedi, Jordan FrankTeamPage Beginner to Jedi, Jordan Frank
TeamPage Beginner to Jedi, Jordan Frank
Traction Software
 
Observable Processes, Kevin Duprey
Observable Processes, Kevin DupreyObservable Processes, Kevin Duprey
Observable Processes, Kevin Duprey
Traction Software
 
Patterns of Observable Work, Brian Tullis
Patterns of Observable Work, Brian TullisPatterns of Observable Work, Brian Tullis
Patterns of Observable Work, Brian Tullis
Traction Software
 
Communication / Collaboration / Content / Competition, Peter O'Kelly
Communication / Collaboration / Content / Competition, Peter O'KellyCommunication / Collaboration / Content / Competition, Peter O'Kelly
Communication / Collaboration / Content / Competition, Peter O'Kelly
Traction Software
 
Traction 2010 Update, Chris Nuzum, Traction Software
Traction 2010 Update, Chris Nuzum, Traction SoftwareTraction 2010 Update, Chris Nuzum, Traction Software
Traction 2010 Update, Chris Nuzum, Traction Software
Traction Software
 
Doing and Managing Knowledge Work, Jim McGee
Doing and Managing Knowledge Work, Jim McGeeDoing and Managing Knowledge Work, Jim McGee
Doing and Managing Knowledge Work, Jim McGee
Traction Software
 
Traction TeamPage Release 4.2 Highlights
Traction TeamPage Release 4.2 HighlightsTraction TeamPage Release 4.2 Highlights
Traction TeamPage Release 4.2 Highlights
Traction Software
 
Traction Software Showcases New Collaboration Capabilities
Traction Software Showcases New Collaboration CapabilitiesTraction Software Showcases New Collaboration Capabilities
Traction Software Showcases New Collaboration Capabilities
Traction Software
 
Ad

Recently uploaded (20)

Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 

Customizing User Profiles

  • 1. Customizing User Profiles Andy Keller Director of Engineering Dave Shepperton Senior Software Engineer
  • 2. Overview User Profile Architecture Customizations Adding new fields Modifying profile display Custom data sources
  • 3. User Profile Architecture Schema User Profile Display Form Rendering
  • 4. User Profile Schema Configuration config/data/forms/profile.properties Schema XML config/data/forms/profile.sdl
  • 5. config/data/forms/profile.properties # special form factory for profiles class=tsi.sdk.data.ProfileFormFactory # located in the current directory xml=config.data.forms.profile # user must be last, because it will store the entry fqid sources=entry,ldap,user # make these entries profiles entry_custom_type=profile
  • 7. config/data/forms/profile.sdl This is XML <?xml version=&quot;1.0&quot;?> Three XML tags <form> <group> <field>
  • 8. profile.sdl: <form> The class attribute can be used for css styling Other attributes can be used when the form appears in a dialog title, width <form class=”userprofile-form”>
  • 9. profile.sdl: <group> Currently, the only group type is fieldset. There may be more in the future. The label attribute specifies the label for the group. <group type=”fieldset” label=”Basic Information”>
  • 10. profile.sdl: <field> Attributes type - the type of the form control source - the source of the data for read/write name - the name of the property label - the text label for the form field description - a description of the form field (other) - Depending on the field type, additional attributes may be used <field type=”text” name=”property_twitter” label=”Twitter ID”>
  • 11. profile.sdl: <field> types text Text input or text area if rows attribute is specified select Pulldown with option elements or special name=project date Date selector that allows choosing a day using a calendar html HTML block that can be used for adding fixed content readonly Displays as non-editable text, often used with source=ldap projectselect Link, click to show select with project list label Label pillbox labelselect Label select input with options or project and prefix users User pillbox, completes against all users in the system members User pillbox, completes against space members, then all goalselector Allows selection of a goal, called a project in the interface milestoneselector Allows selection of a milestone richtext Coming soon! attachments Coming soon!
  • 12. User Profiles in Proteus Automatically included in any Proteus view that is in the userprofile tabs family. com/traction/sdl/gwtrpc/userprofile_details.sdl, broken into groups per column: basic, contact, other Modify by overriding individual functions in your plug-in, e.g., plugins/com.example.customprofile/com/traction/sdl/gwtrpc/userprofile_details.sdl
  • 13. User Profile Entry Tokens profile_title and profile_body use SDL functions in com/traction/sdl/token/profile.sdl
  • 14. Customizing the User Profile Form For Example: Add a field for the user’s LinkedIn public profile URL In a new plug-in: Create a custom version of the schema Override some SDL functions to display the property in the profile header Override some SDL functions to include the property in full text renderings (for search results)
  • 15. Customizing the User Profile Form (cont’d) Create a plug-in, e.g. plugins/com.traction.profilelinkedin Copy config/data/forms/profile.sdl used to generate XML schema to plugins/com.traction.profilelinkedin/config/data/forms Add the field where you want it in the form:
  • 16. Customizing the User Profile Form (cont’d) The structure of the schema is used to automatically generate the form:
  • 17. Customizing the Display of User Profile Information plugins/com.traction.profilelinkedin/com/traction/sdl/gwtrpc/userprofile_details.sdl, start by copying just these two functions: display-secure-contact function fill-custom-entry-props function
  • 18. Customizing the Display of User Profile Information (cont’d) Profile data are loaded from the User and profile Entry in SDL (com.traction.sdl.token.profile#fill) fill-custom-entry-props Function Names the Same Property Given in the Schema:
  • 19. Customizing the Display of User Profile Information (cont’d) Modify the custom version of display-secure-contact to display the LinkedIn URL:
  • 20. Customizing the Display of User Profile Information (cont’d) A separate modification is required to make the property searchable. plugins/com.traction.profilelinkedin/com/traction/sdl/token/profile.sdl, start by copying just these two functions: fulltextbody-custom function fill-custom-entry-props function
  • 21. Customizing the Display of User Profile Information (cont’d) Profile data are loaded from the User and profile Entry in SDL (com.traction.sdl.token.profile#fill) fill-custom-entry-props Function Names the Same Property Given in the Schema:
  • 22. Customizing the Display of User Profile Information (cont’d) The fulltextbody-custom function can be used to include the property in the full-text rendering so that it appears in search results:
  • 23. Profile information from Active Directory / LDAP Active Directory Properties Viewed using JXplorer
  • 24. Profile information from Active Directory / LDAP Add it to the Profile Schema in config/data/forms/userprofile.sdl Render it using user.profile and property.value
  • 25. Custom DataSources Currently have user, entry, and ldap user is for user preferences entry is for entry properties and is used for settings not traditionally in user preferenes ldap is for properties store in ldap It’s possible to create new sources to pull content from a database, web service, etc.