sitecore Copy bucket item issue - sitecore8

Issue with the copy functionality.
When I try to copy any bucket item to another item(bucket or non bucket item) on selection of item in content tree it works fine.
But when the same has been attempted by mentioning the path of destination folder in path field of “Copy item to dialog box” it creates a copy in the same parent.
Please follow below mentioned steps to recreate the scenario mentioned above.
Right click on the item to be copied.
EDIT the path field with desired destination field and click copy button.
Item is created under the same parent though path mentioned in the Path field was different
Note: If the case is like we have to select item in the content tree, and mentioning the path in the path field is of no use, Can I get a patch where path field is disabled.

Bucketed items loose their parent-child relation. To put simply, programatically, we cannot find the parent of a bucketed item. This is not an answer to your question but it can help to investigate further. If 'Copy To' functionality using 'Path' field needs to know the parent of current item, then it will not work in case of bucketed item. In worst case it may end up creating a duplicate of the item in same hierarchy.

Related

Sitecore: Render content tree child items as list view

Is it possible to change the way items in the content tree are rendered in Sitecore?
In Umbraco, there's the option to render all child items of a parent node as either child nodes or in a list view outside of the tree. Next to the tab(s) belonging to the parent node, a node "child items" is added. In this node, all child items are rendered in a listview, supporting popular features like paging, sorting and search.
Is this possible in Sitecore?
Upon searching for an answer to this question, the most common reply is to use a bucket. However, when using a bucket, a message appears instead of the child nodes: "There are hidden items in this container". In a new tab next to the standard Content tab, the end user can search for a child item, but it doesn't seem to be possible to show a listview/grid.
So the question remains:
Can we render content tree subitems in a list/grid, in a new tab next to the Content tab, using features like paging and sorting.
Many thanks.
You can define a default query for your bucket. After that, when a user clicks on the bucket item, he will see search results right away in the form of a list.
Here's documentation on how to do this:
https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/search_and_indexing/create_a_default_and_a_persistent_search_query
In short, you just specify your query in the field Default bucket query of the bucket item.
I am not aware of any other way of achieving what you want. Sitecore content editor just doesn't have this feature from Umbraco.
You may want to take a look at the Subitem Express module.
It does not offer features such as a sorting, paging or searching, but it will display and allow editing of children from a single content editing pane, as well as allowing adding new and deleting children. The child items can also be hidden so that they are not visible in the tree by default, but you can enable "hidden items" to still edit the children like regular items.
Really depends on your requirements, but I've used the module for data heavy items where it was easier to enter through the Content Editor than all the fluff around the Experience Editor to speed data entry.

Item to be bucketed according to a date field when created

I have created a content item at /sitecore/Home/FootballFever/Articles and have given insert option so that we can add only items of templates "Article".As of now,these article items are bucketable according to a field created date.
Now, i have insert option "Add Article" and "Insert from Template" buttons in the Home ribbon "Insert" block. When i create an item through "Insert from Template", the item automatically gets added in respective bucket with path as created date. for example if the item has created date is "7/21/2014" then path will be "/Articles/2014/7/21/ ".
But when i click on "Add Article", the item gets added in /Articles and i have to Sync everytime to get it to correct path.
How can I have the same behavior as that of "Insert from Template" but with path having Release date which is a field of template "Article"?
Please make sure that Article template has Bucketable field checked in its Standard values (for Article template).
If not, when you add a new item into buckets folder, newly added item itself is not bucketable, unlike the rest already existing items from the same bucket folder.
I have just made a proof of concept on my sandbox environment and can confirm that in case you add a new item with Bucketable checked by Standard values - it comes into a bucket straight away and you do not need to perform Sync.
Hope this helps.
UPDATE: I have written a blog post specially to cover your question,with comprehensive description.
http://blog.martinmiles.net/post/understanding-buckets-adding-new-items-to-buckets-correctly
By default, items will be structured in bucket folders, five levels deep based on the date and time the item was created. There are a couple of other built in rules you can use like using part of the Guid or part of the name. The thing to note here is that these are all things that are available on item creation. If you want to structure your articles based on a custom 'Release Date' then you will need to write a custom rule and you will also have to implement an OnItemSaved event handler. Here is a article on how to write the custom rule.
Generally you don't have to worry about how the items are structured in your bucket. Editors should be using the search tab to find the items they need.
Having said that, this SO post discusses how to structure your bucket items based on a custom field. Some things to note here is that this is generally a global change. There are ways around it that enables you to have different strategies for different buckets but you'll then have to do additional work to override the LinkProvider and potentially other things.

Sitecore Page Editor Add New Page Inline

In my content tree, I have "Folder" items that have no presentation, but have all the insert options on them. How would you be able to use the "Insert Page" button in the ribbon to insert a new content item in the right part of the tree?
For Example:
I have my home page Content(Folder)/Home.item
All of my insert options are on Content(Folder), how do I add a new Home.item type without nesting it under Home.item?
In order to be able to use the Insert Page button, the item you are inserting under must have Presentation defined. It doesn't need to have components added, and I've worked round this before by simply define a "blank" layout and setting it on those items. Maybe create yourself a new template (inheriting from Folder) and then set Layout on that. But, this is a workaround at best. You can only "Insert Page" below the current page you are on, so you would essentially have to navigate to a blank page in order to create the sibling.
From what you have stated, it sounds like you may want to re-think where your Insert Options have been set and your content structure, i.e. why would you want create another Home item? Creating so will require set-up of another <site> and related config. You probably also want to separate those sites out with other settings, there is some good example of multi-site structure in this blog post. If you go down this route look into using Branch Templates. But, difficult to know what you are doing without context...

Copy only reference of item in Sitecore 6 tree structure

I have an item in Sitecore 6 backend containing all rendering and data to render itself. This item is a child of some other item in Sitecore tree structure.
So the tree looks like this:
Home
Parent Item
My Item
Another Parent Item
I need a reference to My Item here
Is there a way to copy just a reference of the item? The idea is to have the same content with different url, but without copy/pasting. Because after a while content writer would like to change the content and he doesn't want to search for the copies and change them too.
If you are on Sitecore 6.4 or later, you can accomplish this using clones. Select the item to be copied, and then click the "Clone" button on the "Configure" ribbon. The clone shows values from the original item, but also allows you to override them, at a field level, should the need arise.
For Sitecore 6.3 and earlier, you can use proxies. These do not allow the option of overiding fields, can lead to performance issues if used extensively, and have been deprecated with Sitecore 6.4.
You can learn more about both techniques at http://sdn.sitecore.net/upload/sitecore6/64/reusing_and_sharing_data-a4.pdf and http://bit.ly/CloneTalk

SharePoint - List of Folders

I'm trying to implement a list where the only item type is a folder. If someone click "New" they are brought to a form that allows them to enter a folder name, description, and select either "Active" or "Inactive" from a drop-down menu. Inside the folder I want a simple list with only 2 columns.
I tried making a custom Folder content type with the columns I needed and making it the default content type. This seems to work to make the list of folders. Once I go inside the folder and try to change the internal view/list setting (I don't want to use the custom folder content type inside the folder...i just need 2 simple columns) it changes the settings for the list of folders as well. Is there any way for the internal list to have different settings than its parent?
I don't know if this issue is still relevant, but maybe someone else will find my answer useful.
I used to implement a list that contains only folders in the root, which in order can contain few item based content types.
There was two event receivers for FeatureActivated and ItemAdded events, which changes UniqueContentTypeOrder property (the list of content types available for user to create) of the lists root folder and a folder being created respectively. Like this:
List<SPContentType> ctl = new List<SPContentType>();
foreach (SPContentType ct in lst.ContentTypes) if (ct.Id.IsChildOf(SPBuiltInContentTypeId.Folder)) ctl.Add(ct);
lst.RootFolder.UniqueContentTypeOrder = ctl;
lst.RootFolder.Update();
Also, I designated different available list views for root folder and the folders it contains, by specifying ContentTypeID attribute for a View definition.
Unfortunately, no. Since SharePoint is Lists are not relational data, the only options to you are allowing several Content Types. If a content type is available to the list, it's available to the entire list (root, and sub-folders).
One possibility to model what you are trying to accomplish relies on SharePoint 2010 Enterprise. Infopath allows you to customize the New Item Form for a List. It might be possible to edit the form such that it only allows Folders on the Top Level, and List Items within a folder, but I don't know for sure - it's been a while since I customized a List Form with Infopath.