Scenario of two or multiple users working on same content - sensenet

I'm working on SN community edition; I need to setup a like shared folder where two or multiple users can work on it.
I tried the following:
Login with built-in user account "admin";
Create a folder under "\Root" with name "SharedFolder";
Modify the permission on this folder by giving built-in user account "mike" full permission.
The problem is that I couldn't see this shared folder in the dashboard of the users (admin, mike).

The built-in mypage's document library by default lists the childrens of /Root/Profiles/username/Document_Library.
The easiest way to achieve this is if you add a new List portlet to the 'My page' and bind it to the 'shared' folder. But this way you cannot list multiple shared folders in one list.
Steps to achieve this:
Copy /Root/Profiles/(apps)/UserProfile/Browse into to the chosen user profiles (/Root/Profiles/username/(apps)/UserProfile/Browse. This way the users that should work on the shared folder would have a custom 'My page' with the shared folder as a list
Navigate to the newly created Browse pages and switch to edit mode
Add a 'List' portlet to one of the zones
Open the portlet actions (top-right corner of the portlet) and click on 'Edit' to open the portlet property dialog.
There're tons of things on this dialog to set, but the three that you have to set is the ViewFrame on the 'Content List' tab (set is to: /Root/System/SystemPlugins/ListView/ViewFrame.ascx) and the Bind Target + Custom root path on the Contenxt binding tab (Bind target should be Custom root and add your shared folders path into the Custom root path)
The steps above should be made on all the userprofiles that are related. Another solution could be if you change the built-in profile Browse page (/Root/Profiles/(apps)/UserProfile/Browse). This way the shared folder will be displayed on every users 'My page' but the users who aren't allow to see the items of the shared folder will see an empty list.
To get all the 'shared' document/folder/content items you have to use the permission queries but they are only available through the OData or c# API, so you have to create a custom grid/collection view to achieve this.

Related

TYPO3 permissions: Allow backend users to copy content elements but not to edit them (or: how to provide users a library of content elements to copy)

i’d be thankful for some help (maybe i didn’t find the correct terms for a search on the internet?).
Topic: Permissions / Module “Access”
I’m looking for a way to configure permissions in such a way that some backend user are in the same time:
allowed to see (in the page module) all content elements on a certain page
not allowed to edit/hide/delete them
are allowed to copy them into the clipboard
The idea is to give them a kind of library pre-filled+preconfigured content elements to copy and paste on “their” pages.
As soon as i disable the permission to “edit content” on the page in the module “access”, they don’t have a “copy” item in the context menu of the content element anymore.
Is there a way to achieve the goal?
Allow your editor to use the content element «Insert Records». So you can place the prefilled and pre-configured content elements on a page without edit permission.
Editor can «clone» the content elements on their page without the possibility to edit them.
In frontend there is no difference between the original content element and the «clone».
Your scenario is definitely possible. I've just set up a demo TYPO3 installation where this works fine.
You need to create two backend user groups for access:
one for the read only page
and one for the regular pages
In the access module you assign the read only group and set the access rights for read only page only to "Show page".
Then it should be possible to just copy from that page:
I hope this is helpful for you to reproduce it in your installation.

Shopify: selecting alternate Template for "All Products" page

I am trying to customise my debut theme and am a bit stuck.
I am trying to create an alternate template for the template that shows all my products.
I am able to create an alternate collections.liquid and it also shows up in the admin an it all works fine. But my confusion is, this seems to be the same template for rendering the all my products (not just the products from that collection) too, but how/where select the alternate template for that in the admin?
In other words I am attempting to change the template for collections/all
By default the collections/all uses the collection.liquid file.
As you said you can create a new template collection.custom.liquid that you can use.
The interesting part is that there is no actual collection/all page in the admin. This is the default page that ALL shopify shops have (similar to the homepage/404/cart page). So you don't have access to it from the admin panel by default.
In order to change the ALL collection page you need to create it yourself. Go to your collections admin page and create a new collection with the handle all and this will overwrite the default all collection and you will be able to choose a different template for it.
TLDR; create a new "all" collection in the admin panel and choose the custom template for it.
you have check here collection type grid or list which is enabled from the theme option
collection-template.liquid file that show collection/all item list
if want to change the alternative template goto the template directory. page.collection_list.liquid

change default joomla login page

i'm working on a Joomla web site where i would like to change the default authentication page.
i created a new login menu item and i've tried to hide the com content area so that the login form don't show. instead of the default login form i placed a new better looking login module.
now i'm trying to make this page the default login page.
There are a couple areas in the site where access is restricted to registered users. and if clicked it leads to the default joomla login page. i want the user to be redirected to login from the new one.
can you please help?
The easiest way to obtain your own custom login page is to override the default joomla layout template.
It's actually very easy to do.
Start with your template. In the template directories, you'll need to have an html folder in your template. Inside of that, you'll need a com_users directory, and inside of that - a login folder. Like this:
/templates/YOURTEMPLATE/html/com_users/login
Then, copy /components/com_users/views/login/tmpl/default_login.php into your new login folder you just created.
From here, you can customize the default_login.php file to your hearts content. Be sure to keep the field names and hidden fields intact - be sure to only manipulate layout elements and avoid changing anything to do with the form, form name, destination or fields.
You can do the same for the logout template - and as a bonus, it goes in the same folder in your template.

How do I load a Sitecore sublayout automatically so that permissions are respected?

I've created a sublayout (usercontrol) with some simple html. I want to display this sublayout only if the user belongs to a certain role.
If I use the built in sitecore developer center to add the sublayout, I end up with something like
<sc:Sublayout runat="server"
RenderingID="{item guid here}"
Path="/layouts/sublayouts/someusercontrol.ascx"
ID="Sublayout1" placeholder="content"></sc:Sublayout>
Denying read permission for the sublayout used there has no affect (I assume it's getting loaded because the file path is there right? ). If I take the Path out I get nothing regardless of current user role.
I don't want to manually check if the current user is in the right role from the codebehind. What markup do I use to get the sublayout to consider the user's permissions and determine visibility?
I don't think it's possible to control sublayout visibility based on a user role in markup. If you dynamically added this sublayout to a placeholder, you could use conditional rendering ("Personalize" button in 6.5) to accomplish this, hiding the component unless the user is a member of a specific role.

How can find out what features have activated when I create a site collection using a out of box site definition

I plan to create custom site using web template.I need to find out what features have activated when I create a site collection using a out of box site definition.How can I do it?
You can find it out from the Site Definition file located at 14\Template\SiteTemplates. For each configuration of the site template there are "SiteFeatures" and "WebFeatures" elements which lists what features needs to be activated when a new site is created using that site template (and configuration). Remember that if those features depend on any other features which are hidden, they will also be automatically activated.
I believe you know how to locate the ONET.xml file for the out of the box site definition. If not, following PowerShell command will help you.
Get-SPWebTemplate | where { ( $.'IsHidden' -eq [System.Boolean]$False ) -and ( $.'IsSubWebOnly' -eq [System.Boolean]$False ) }
The Name property in above result includes the name of the folder in which to look for Onet.xml and the configuration setting inside the onet.xml file.