PloneSocial Roadmap
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 39 | |
Author | ||
Contributors | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/47839 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
Plone Conference 201331 / 39
1
9
10
12
16
17
23
25
29
31
32
37
00:00
Plane (geometry)Slide ruleBoss CorporationSelf-organizationDistanceProcedural programmingPoint (geometry)DatabaseRow (database)Web 2.0Group actionPhysical systemTwitterEvoluteMachine visionDigitizingAngleComputer fontDemo (music)Order (biology)VideoconferencingLine (geometry)State of matterZoom lensPresentation of a groupTranslation (relic)Term (mathematics)XMLLecture/Conference
01:45
Self-organizationOrder (biology)Shared memoryEmailInterface (computing)Moving averagePerspective (visual)Product (business)WebsiteDataflowContent (media)Greatest elementMultiplication signInternetworkingWeb 2.0RewritingPhysical systemEnterprise architectureCore dumpTouch typingNoise (electronics)TwitterStreaming mediaCoefficient of determinationSet (mathematics)Network topologyReading (process)Inheritance (object-oriented programming)ArmMikroblogMachine visionState of matterSoftwareClient (computing)Procedural programmingLecture/Conference
03:40
Functional (mathematics)Arithmetic progressionSoftwareScripting languageContinuous integrationDemo (music)Profil (magazine)Software testingStreaming mediaSource codeExecution unitRoboticsMobile appBootstrap aggregatingLocal ringImplementationInstant MessagingSpacetimeVideoconferencingContent (media)Casting (performing arts)TrailNormal (geometry)INTEGRALView (database)Information securityLecture/Conference
05:53
BitTouchscreenDemo (music)View (database)SoftwareMikroblogSoftware frameworkAvatar (2009 film)Electronic mailing listRoboticsProfil (magazine)Sheaf (mathematics)Normal (geometry)BlogPerspective (visual)Home pageSelf-organizationTwitterMessage passingStreaming mediaLocal ringField (computer science)Information securityoutputMultiplication signRight angleSpacetimeObservational studyWeb pageOffice suiteFigurate numberNetwork topologyVideoconferencingScripting languageGroup actionMenu (computing)CASE <Informatik>String (computer science)Block (periodic table)Archaeological field surveyLecture/Conference
11:01
SpacetimeGoodness of fitElectronic mailing listInformation securitySuite (music)NamespaceConnectivity (graph theory)Chemical equationMachine visionScaling (geometry)Enterprise architectureCartesian coordinate systemSoftware frameworkTerm (mathematics)Greatest elementInternetworkingMashup <Internet>Web 2.0Self-organizationCustomer relationship managementDatabase transactionInformationBootstrap aggregatingImplementationFront and back endsProfil (magazine)Arithmetic progressionLogicSoftwareProcess (computing)Integrated development environmentProjective planeBlock (periodic table)Interactive televisionCodeSocial classWeb browserMultilaterationLink (knot theory)GoogolBuildingVariety (linguistics)Graph (mathematics)Data managementDependent and independent variablesShared memoryDiagramAreaStreaming mediaWeb pageMikroblogWordImperative programmingForm (programming)Multiplication signIterationSemantics (computer science)Data structurePattern languageNetwork topologyEmailField (computer science)Product (business)Functional (mathematics)Systems integratorPhysical systemMachine learningTwitterBitGame controllerOperator (mathematics)Sound effectForcing (mathematics)FamilyCondition numberBlogCASE <Informatik>Mobile WebMusical ensembleSocial bookmarkingBinary fileVirtual machineInstance (computer science)Disk read-and-write headPerspective (visual)DatabaseSystem callState of matter2 (number)Line (geometry)VideoconferencingHypermediaConnected spaceResultantExtension (kinesiology)Bookmark (World Wide Web)Key (cryptography)Group actionLecture/Conference
20:11
Client (computing)Mobile WebPhysical systemInteractive televisionLevel (video gaming)Right angleCustomer relationship managementINTEGRALContext awarenessSemantics (computer science)Web pageProjective planeProduct (business)Enterprise architectureInformationLine (geometry)Sound effectMappingVirtual machineArithmetic meanPlanningMultiplication signVideo gameExtension (kinesiology)DatabaseLecture/Conference
21:16
Multiplication signE-bookExtension (kinesiology)InformationBridging (networking)Perspective (visual)Term (mathematics)Web 2.0Programming paradigmCore dumpSpacetimePoint (geometry)Functional (mathematics)Semantic WebLecture/Conference
22:06
Connectivity (graph theory)Subject indexingSemantics (computer science)Goodness of fitPhysical systemContent (media)Bridging (networking)Streaming mediaType theoryView (database)Thread (computing)Key (cryptography)AreaEmailSpacetimeInternetworkingStack (abstract data type)Projective planeMikroblogData conversionTerm (mathematics)Search algorithmSemantic WebImplementationScaling (geometry)Product (business)Bootstrap aggregatingClient (computing)DebuggerDemo (music)Instant MessagingConstructor (object-oriented programming)Real numberMoment (mathematics)File archiverTouchscreenBlogUser profileBasis <Mathematik>Ferry CorstenMessage passingWordSoftwareSet (mathematics)Workstation <Musikinstrument>Profil (magazine)MereologyLevel (video gaming)Lecture/Conference
27:09
Plane (geometry)Element (mathematics)WebsiteSource codeClosed setMereologyLogicProduct (business)Demo (music)INTEGRALConnectivity (graph theory)Open sourceBlogOnlinecommunityOrbitGroup actionProgrammschleifeServer (computing)Point (geometry)Information technology consultingWeb 2.0Multiplication signCuboidSubject indexingDifferent (Kate Ryan album)Streaming mediaSuite (music)Machine visionProcess (computing)Order (biology)Term (mathematics)SpacetimeDifferential (mechanical device)Software maintenanceInternetworkingRule of inferenceLatent heatMusical ensembleRoboticsRoutingNumberSoftware developerCellular automatonInformation securityPhysical systemLevel (video gaming)Goodness of fitSystem callExtension (kinesiology)Pattern languagePlug-in (computing)Mobile appVideoconferencingContext awarenessSlide ruleBootstrap aggregatingConstructor (object-oriented programming)Business modelWeb serviceProfil (magazine)Software bugContent (media)Software testingLecture/Conference
33:12
Plane (geometry)MereologyMachine visionStreaming mediaWebsiteGroup actionMultiplication signLecture/Conference
Transcript: English(auto-generated)
00:10
Okay, hi guys. I see people are still coming in, but I have more slides than I have minutes, so I guess I'd better get started.
00:22
My name is Hugo Stevens. I'm from Cosent, work in the Netherlands. My slide is on the long social roadmap, and also I'm presenting the digital workplace technology roadmap, which I have developed over the past half year. So welcome here. Hi guys.
00:42
So just an outline of what we'll do in this talk. First I'll go into the why this is needed, you know, why did I think I should write PloneSocial, and what does Plone benefit from that. Then we'll go into the what. So I'll give you a brief outline of the features, present you with a video demo.
01:01
I'm not going to go into a lot of technical details. I did it in other talks on other conferences. This is more geared to the business angle and the design aspect of it. I'll outline a vision for a long term digital workplace technology roadmap, which shows how the PloneSocial effort fits into a much wider web technology trend evolution.
01:23
And then I'll zoom back in again on PloneSocial and translate that into actionable things of where we are, where we need to go to make PloneSocial a compelling offering. So first, why? Business. Social business. We used to have systems of record, which is the web 1.0 world where you have transactional databases,
01:47
where you have documents, where you have organizations that follow procedures, and where everything is, you know, maintained top down and everything has a global state. What we're now seeing since, you know, since about eight or nine years
02:00
is the emergence of systems of engagement, which is social business or enterprise 2.0 or social internet or how you want to call it, which is based upon web 2.0 technologies. And here it's not about documents, it's about people. And here it's not about procedures, it's about knowledge flow between people.
02:20
And it's less about top down and more about bottom up working. Now McKinsey and Deloitte have done research into that, and McKinsey, for example, estimates that if you, you know, fully roll this out to both your, you know, to your employees and to your suppliers and to your clients and realize a fully networked social enterprise, that would give you productivity improvements in the order of 20 to 25%.
02:45
Most of that comes from eliminating email and the noise that comes with that and replacing that with smarter and more productive technologies. So translated to Plone, we have the web 1.0 world in Plone Core. Like I said, it's document centric. It has this global state.
03:04
And in Plone Social, I've tried to translate that into a far more web 2.0 paradigm, which is, you know, instead of publish and read, you do a rewrite. Instead of content management, it's focused on social networking. Instead of a tree, a place centric approach, we have an activity stream,
03:21
which is a time centric interface pattern. Instead of a global state, we have fully personalized perspective. So each person's vision, you know, what he sees in a site is different. And instead of top-down, it's more geared to bottom-up sharing. And later in the talk, I'll touch on the third column. What?
03:41
Features we have in Plone Social. To start with, we have microblock status updates. This is a performance-optimized native CO2B implementation that gives you the ability to have, you know, short status tweets. Those are integrated into an activity stream, which shows not only status updates, but also shows normal content creation.
04:02
So you can create a document, shows up in the activity stream. You can leave a Plone app discussion command, shows up in the activity stream. Or you can do a microblock status update, shows up in the same activity stream. We also have social networking, which means you have a personal profile. You can follow other people. They can follow you.
04:23
You can see who is following who. And most important, you get an activity stream view, which is filtered on your network. So you get a my network view, which is different from the global activity stream. So you can tailor what you want to see, you know, by following people. New features, which were done this year, mostly on the Sorrento Sprint,
04:44
is we now have a collective local integration, thanks to Thomas Devenet. Which means we can have secure workspaces, which have their own microblock implementation. They have their own activity stream. Activities, you know, so it shows in the workspace, it shows only the activities within that workspace.
05:04
But the activities of this workspace also show up in the global stream, if you have permission to see the workspace. So that's all quite transparent. I did the Bootstrap theme, which immediately, you know, it's a cheap effort and it looks great immediately.
05:21
We've done a lot of work on continuous integration testing, with a big, big thanks to Askasuka, also on the Sorrento Sprint. Wouldn't have been able to figure that out. So we have a lot of unit tests, but we also have robot tests now. This runs on Travis, it runs on Source Labs. We have a full scripted demo video, which I will show later in the talk.
05:43
And finally, Timo yesterday told me that he's developed with some colleagues private messaging. So this is a new functionality which is in progress. Demo.
06:03
So, like I said, this is done using the robot framework. I hope you, oh, it's a bit of a washed out screen. So this is the anonymous view. You know, you can see content as anonymous, but you normally can't see any microblogging going on there. So we're now logging in. We have a demo profile which sets up some fake users.
06:20
I'm logging in as one of those fake users, called Claire. Okay, she's logged in. And now I go to the homepage.
06:42
So on the homepage you have, you know, the input field for the microblog status updates. You have the activity streams. This also shows, like I said, it shows content actions and creations. Here you got a demo of, you know, what it looks like if you leave a status message. So microblog.
07:01
Oh, that's done. And it immediately shows up in the stream here. The explorer section is the global activity stream. So it shows everything going on in the site, whether you're following people or not.
07:27
The my network section only shows updates from people you're following. In this case, Claire isn't following anybody yet, so she sees only her own updates. We'll return to the screen later in the demo.
07:40
And then the profile page, you know, gives you an avatar of the user. It shows, you know, who she's following, who's following her. All the activity of this user. Now you can check out, you know, the follower list there.
08:02
So these are the people who are following Claire already. And Claire decides to follow some of these people herself so she can see their updates. So she just hits the button. That's one. That's two. And if you now go, if Claire now goes to the my network stream, which is the filtered stream,
08:25
she sees updates from people, you know, from her network. Obviously her own tweets on top, but her stuff more down here from other users. So this gives you a powerful way to, you know, define a perspective on what's going on in an organization yourself just by following people.
08:43
We have hashtag support.
09:03
And like I said, we have a secure workspace support, which is a collective local workspace. And basically there's a dexterity behavior available which implements a microblog interface, a microblog local contacts interface. And if you switch that on on a workspace, it has its own activity view.
09:22
Here you can see that only some users have access to this workspace. And if you're in a local microblog contacts, that shows up in the menu above. So you can switch to the updates view, the activity stream view. And these are only, you know, updates which were done within this workspace.
09:40
And obviously only people who have access to the workspace can access this. There's also, you know, the tag used, you know, for this workspace is girl space. You can check that out globally. And we'll let you see that people who don't have access to the workspace cannot access this tag as well. So we're now going to do that, log in as another user.
10:10
It's difficult to time these scripted videos, so it should go faster.
10:27
So we're now logging in as Kurt.
10:54
So Kurt doesn't even see the secure workspace in the main navigation because he doesn't have access rights to that. That's just normal blog behavior.
11:03
And Kurt tries to access the girl space tag, but he just gets an empty list because all these updates are hosted within the, you know, they're tied to the secure workspace and there's a security check on that.
11:21
So what do we have in the PloneSocial namespace? We have the PloneSocial suite, which is the one-click installer, which has dependencies and all the other stuff, and pulls those in and configures those, etc. All the other components don't have cross dependencies. So the other building blocks are PloneSocial marker block, which is the backend for the status updates,
11:43
the activity stream, which has the bulk of the browser logic in there, the network, which handles the backend of the follow and follow stuff, and also the profiles of the users, and the theme, which is just a bootstrap implementation. And we have some conditional checking here.
12:01
The activity stream, it probes the code environment to see, you know, if micro block is installed, if network is installed, and it has some conditional logic, you know, morphing its behavior depending on what's available in the environment. And like I said, in progress is the private messaging stuff, which still needs to be integrated.
12:20
Philosophy of PloneSocial. It's about, you know, native Plone. So this is just stock Plone with Python logic in it, providing a full social experience, having a pre-integrated one-click install, so it should be very easy to install this and run this, be very flexible in the component architecture,
12:43
scale down so you can use it in small sites, but it should also scale up and be performant if you deploy it in a large installation. Vision. The vision behind, you know, this roadmap, I'm going to go some deeper into that. It builds on a web 1.0, web 2.0, web 3.0 framework.
13:05
For starters, I'm using the Enterprise 2.0 Affordances framework developed by McAfee. That's the guy who coined the term Enterprise 2.0. And he says, you know, in any social system, you have six key affordances or, you know, things you can do with the system, which are separate from applications.
13:21
It's just, you know, the stuff you can do there. It's signals, that's the S, which means RSS or microblogging or email alerts, even, that's signals. It's links, which we all take for granted in the web world, you know, being able to hyperlink to stuff. Authoring, which means you can change documents, not just upload them, but actually edit them.
13:41
Tagging, and tagging in the social world is not quite tagging in Plone, because in Plone you just have a global subject space, whereas if you go to Delicious and you bookmark, you know, you tag a bookmark, those are your tags. So there's a bit of a challenge in, you know, reconciling those two concepts. Extensions, which is a bit of a critical name
14:01
for what is basically recommender systems. So if you go on LinkedIn, you know, it will suggest to you, do you know these users? Twitter does the same. If you buy a book on Amazon, it says, okay, given your profile, given what you bought, you will be interested probably in these books as well. So that's an important functionality. And finally, search is very important.
14:21
So these are laid out graphically like this. This is just the six bonuses I just talked about. Knowledge management is another thing. There's a big field there. I've distilled this into three aspects here. Processes, which is about, you know, operational effectiveness about productivity. There's tested knowledge and processes,
14:41
so people who are doing stuff, they know how to do that, but they don't know what they know. They just do it. There's a people aspect where people can share expertise, but also people articulate their expertise by, you know, what we're doing here, you know, talking to each other about technology, talking what you do. It helps you to articulate what you're doing and share that.
15:01
And finally, there's information, which provides insight and which also provides, you know, distilled knowledge in the form of explicit knowledge, explicit information. So we add that to the framework like this. We have processes, people, information. And now we can use this to map the application landscape.
15:21
So I've grouped these by affordance. So for authoring in Plone, for example, we have wikis, which we just call pages, but the rest of the world calls those wikis. You know, you have an editable page. We have blogs, which are important. For signals, we have microblogging and activity streams. For extensions, we have social networking.
15:43
So that's the left side of this application diagram. And on the right side, we have, for tagging, we have social bookmarking, or we should have that. We have question and answer, which is, you know, that people can pose a question on a certain knowledge area and receive responses from the rest of the organization. That's an important knowledge management feature in most systems.
16:04
We have search, which we take for granted, but there's very, you know, there's varieties of search. You can do a normal search, but you can also do a social search. If you have a social network defined, you can use the graph to filter or to prioritize your search results. This is what Google Plus is doing. You know, if you do a search on Google
16:21
and you have a Google Plus account and you're logged in, it will highlight those items, you know, which were marked by people in your network. And finally, we have semantic search, which is, I'll go into that a bit later. Finally, we have, in the links of forums, we have media. So we have binary files, we have videos,
16:40
and we have mashups, where you integrate with all our applications. So that's the application landscape in there. Finally, we also have social spaces. We can group these into two classes. One is projects, where you have teams collaborating, which are normally, you know, linked by strong connections, as it's called, in social networking terms.
17:01
So you have frequent interactions. It's your close colleagues. These are, you know, about getting stuff done together, and usually there's some kind of tight security around such a team, because outsiders are not supposed to be inside that team. On the other hand, you have communities, which are far weaker in their interaction, far more spread throughout an organization.
17:22
This is more about cooperation and sharing knowledge than about getting things done. And communities can be much more open because they're geared to share knowledge across the whole of an organization. So we put those in here, to the left, you know, aligned to the processes part, the projects. And to the right, you know,
17:41
about sharing knowledge, sharing information in our communities. So then, I'm plugging in the web 1.0, web 2.0, web 3.0 stuff. Web 1.0 is about, you know, systems integration. It's about integrating legacy systems, getting access to those CRM systems, transactional systems,
18:02
doing mashups there. These are normally characterized by global shared state. So you have one database, you have, you know, documents, and they're, you know, equal for everybody in your organization. Those go here at the bottom. For 2.0, which is the social internet enterprise 2.0 world,
18:21
we have enterprise 2.0, which is called systems of engagement. It's about social interaction. This is characterized not by heavy procedures, but by very lightweight patterns of interaction, very simple affordances, which are very powerful if you combine those. And you have the freedom to ignore certain information. So unlike email, where you're supposed to process that email,
18:42
you know, nobody is, you know, supposed to read all of his tweet stream all day, you know. Nobody's going to do that. And you can apply those same patterns in an enterprise, which moves control from the sender of information to the receiver. Because if you're free to ignore stuff, that gives you much more of an handle on what's going on in your stream than if you're supposed, you know,
19:00
to chew through hundreds of emails every day. And you get personalized perspectives. So you get, you know, my social network. You can filter updates and people by interest. And you can order these instead of having a kind of tree structure. The dominant pattern is always to have a stream which is ordered by time.
19:22
So that goes here to the left between processes and people. So we get there the social aspect there. And finally, looking more to the future, we go to Semantic Web, which has been, you know, talked about for a long time, just like artificial intelligence has been talked about for a long time. But a lot of interesting stuff is happening in this field.
19:43
And I'm calling this systems of intent. So you get systems. You already see early iterations of this on Google. If you, for instance, now Google weather, just the single word weather, you will get a weather forecast for Brasilia, for here. You know, Google just, you know, assumes that you want to have a weather forecast. It checks your GOP, says, oh, you're in Brasilia.
20:02
It presents you that. It also does the same if you search for company names and stuff like that. This is driven by machine learning. The primary design imperative for that comes from mobile use cases, but it's also applicable to desktop productivity scenarios. And I'm calling this contacts adaptive.
20:20
So what you get in an enterprise contacts, in an intranet contacts, is that you can use semantic lifting technology. There's, for example, a project called Stumble. And Jens Klein did an integration of that with Prone some years ago already, which takes a look at the document that you're having. It tries to make a semantic map of that,
20:40
so extract real concepts from that. It looks those up in a database, and it shows you, you know, what it finds in a database. Now, in the prototype, you would normally do a freebase lookup, so a Wikipedia-like lookup. But imagine the power of that if you have your CRM system mapped like that. If you can just, you know, extract all the interactions. If a client is mentioned just in a text,
21:01
you get a pop-up with that client's information and that client's contact history right in the context of the page that you're looking at. So this is meaning-centric. So that fits here on the right between information and people and very close to the tagging and search and extensions facilities.
21:24
So that's the roadmap. I would have more to say about that, but I don't have the time. But I'm writing an e-book on that. It's almost finished, and you can find that on cosen.nl/.roadmap. You can sign up there to receive the e-book as soon as it's available, or you can just ping me, and I will send you a copy.
21:41
Now, zooming back into Plone Social, like I said, we have, you know, the Web 1.0 perspective, which is, you know, the dominant paradigm of Plone Core. We have the Web 2.0 perspective, which is in Plone Social and which is not finished yet. And I'm also bridging that to, you know, a trying to bridge that to a Web 3.0 perspective
22:00
in terms of knowledge technology. And the bridge is mainly in the tagging and extensions stuff. So if you start to do tagging and stuff like that, this is, you know, social networking functionality, but it also starts to give you an entry into the semantic web space as well. So what have we, you know, done in Plone Social?
22:21
Like I said, we have a one-click installer, microblogging, activity stream, personal profiles, social networking, social workspaces, a bootstrap team, stuff that we want to do. First of all, you know, use it. Sell this, use it. So who of you has, you know, used Plone Social?
22:42
Oh, cool. And who has, you know, a client with a production installation for Plone Social? That's also cool. So that's going on. Also on the roadmap is private messaging. I'll try to work with Timo, this print, and see if we can work on that and integrate that into Plone Social.
23:01
The front end needs to be integrated somehow or created or I don't know. There are some stream enhancements that are in the backlog, which is, for example, threading. So currently, microblogging is just, you know, you have this message, and it's context-free. It would be nice if you could reply to a message, and then if, you know, somebody sees a follow-up message, you can, you know, zoom out
23:21
and get the whole conversation thread there. Also, two key updates on modification date instead of creation date, like it's now, and also to have a more pluggable rendering system, which would allow implementers, integrators, to far more easily customize what's going on in Plone Social and, you know, plug in their own custom types.
23:41
So the idea is that you can define an adapter for your custom type, and that if it's created, it can show up in the activity stream, defining its own mini view within, you know, inline view there. Also, I'd really, really like to have a notification system in there, which gives you email summaries of what's going on and that you can choose to receive those, you know,
24:00
immediately or per hour or per day or per week, which also pings you if you get any mentions, having a mentions view. Other stuff is having social content. So you should be able to follow content. If you see a folder where interesting stuff is happening, you know, just click that, follow that, and you should get updates from that in your activity stream. Follow tags, same concept, you know.
24:23
If anything comes up on a specific tag that covers a subject area that I'm interested in, I'd like to have that in my activity stream. Semantic content. So the tagging stuff I talked about, which I see as a bridge feature to a semantic web technology, you know, get a very good tagging system in place,
24:42
which is both social but also semantic, and generate the ability to follow tags. Finally, search. So one of the compromises I made in implementing this is dropping indexing of microblock status updates for performance reasons, but obviously, you know, you'd like to be able to have a search capability
25:01
that also searches microblock status updates and gives you to them. And I'd also like to have a social semantic search component in that where social search is, you know, search updates from your network, and semantic search is, you know, filter your searches or prioritize your searches by certain keywords or, you know, certain semantic constructs in there.
25:24
What I'd like to see for Plone to happen is to get a real good social internet baseline. You know, instead of, you know, everybody doing their own internet baseline, you know, have a consolidated effort which makes it easy to do a fast demo if you get a prospect on that,
25:40
which makes it easy, you know, to start customizing that fast. It should minimize dependencies, so no archetypes in there, no XMPP, AMQP, ZMQP messages, messaging stuff in there. Avoid external DBs if possible. Currently, we don't have those in there. I'd like to keep it that way. So you just have a stock Plone which works,
26:02
and if you want to, you know, you can always plug in these systems later if you have well-defined interfaces, but if you already require them at the start, that's a much heavier hurdle to take. So I'd rather have a minimalistic implementation in Plone which you can scale up than something big which you can't scale down. And in terms of features for such a social internet baseline,
26:23
I think there should be a personal social dashboard which has streams, which has a marker block, where you have a social network with user profiles, where you have project spaces, community spaces, and where you have tasks and notifications. I know that most of this is already, you know, in the stack.
26:42
So I checked out, you know, what's going on in the internet world already in Plone. This is a screenshot from the intranet.no stack. They have some really cool features in there, but they depend on XMPP. There's the Team Realm call-up stuff. They also do some very nifty stuff,
27:01
but this is completely done on archetypes. This is something another company did. So my call on you is let's collaborate in this space and, you know, bring the level of Plone out of the box for social internets, you know, improve that level,
27:21
make sure we have a very good user experience there, which can be customized with Plone App Theming, and compete as Plone community, as Plone ecosystem against other systems. So that reduces, you know, development costs, it reduces sales costs in terms of getting a demo done, it reduces quality assurance and maintenance risk
27:40
because those are shared between, you know, within the community, and it increases the credibility of Plone as a brand in this social internet space. And even if we're collaborating on all of this, we can still maintain, you know, traditional differentiators between consultants in terms of, you know, having different geographic coverage, having different delivery processes,
28:02
having different hosting offerings, having different support offerings. I think that still remains valid. So this stuff, you can just install it from Plone Social Suit. You just add the act to your build out, and oops, you're done. Just don't install the demo profile in production because it's not uninstallable.
28:21
You can't uninstall the demo. You can uninstall the normal stuff but not the demo. No, the uninstallers are not complete yet. Yeah. Customization, it's all just Plone, so it should be pretty easy to customize. If you're familiar with the CCA, you can just go in there and start customizing stuff. It's all Python logic. You can extend the stuff.
28:41
All the sources are on github.com slash cosent. It's all GPL licensed. And you can work with us to do user research, design, or development on Plone Social. These slides and the demo video and the roadmap stuff I showed will be published on my blog in a few minutes,
29:02
so you can find them there. And I'd like to thank you for your attention. Yes, Steve. You said you have a bootstrap theme. To what extent is it attached to it?
29:21
I mean, is that a convenience? Or could you pitch it out and start with something new or do you have to add to it? No, the idea is that, like I said before, the suit is the integration component. All the other components do not have any cross dependencies. So you can just take the microblock, take the activity stream, or even take the suit
29:41
and not install the theme. That's all just fine. The only downside is that because of the way robot tests work is that there's some dependency in the robot tests on specific bootstrap constructs which are available in the theme. But there's no functional dependency on that whatsoever. And the theme is pretty simple. I just forked an existing bootstrap theme,
30:01
cut out a lot of the stuff that it didn't need, put in a very simple extra rule, and that's all. It was really a cheap effort. So you can just re-theme that any way you want. I'd like to have a theme which can be used as a baseline. We discussed that earlier in private. That's not possible now because if you have the Azure theme, so how are you going to build on top of that?
30:21
That's a challenge. That's a different challenge outside of this scope. Other questions? No, I haven't worked on that.
30:51
I can see that for a community website, but I think it's a dangerous feature to brand in an internet context because you want there to be high security there.
31:01
So it's obviously an interesting feature if we can have a plugin that does that, but it's not there yet. So how did I check out the competition?
31:20
Well, I just collected another flyer from the guys here in the booth who have their own social internet on top of Python. I did take some looks at that, but I haven't had enough time to really systematically scope out the competition there. So I've been playing around with the idea of, can you productize an offering like that? I did some market research on that. The conclusion was that it's far better to aim for
31:41
a consultancy approach in terms of business model. So I'm just working from, okay, this is an open source tag. Most of the stuff out there is not open source. It's a web service. So already that gives you an entrance point. But it's obvious that to take this further, it would be really good to compare at least the top contenders like Jive. Podio is an important contender.
32:01
Check out what the Drupal guys are doing. There's a lot of stuff going on there from which we can adopt best practices and see which patterns are obvious to use.
32:39
So the question is,
32:41
does the activity stream show not only blown social updates itself, but also normal blown content updates? The answer is yes, but it's yes. So that's the vision, and it also works now. But it currently is anchored on content creation. And there is some bugs or intricacies in the indexing where it's difficult to do that on updates.
33:02
But I'd really like to have that on updates. So we've been talking to several guys that have some kind of history there where you can chain this on content editing. So actually any action you do on the site should show up in the activity stream. That's part of the vision. So we're halfway there in terms of content creation,
33:20
but not yet of content updates. That's it. Thank you guys.