geta / epicategories Goto Github PK
View Code? Open in Web Editor NEWAn alternative to Episerver's default category functionality, where categories are instead stored as localizable IContent.
License: Apache License 2.0
An alternative to Episerver's default category functionality, where categories are instead stored as localizable IContent.
License: Apache License 2.0
This is probably more of a question than a bug directly. I tried adding the category property on to a commerce item and got an issue around the meta field, I've seen a few articles here and there around getting the standard category system to work with commerce. Do you have any information on getting your one working with Commerce catalog items?
Hi, thanks for the great code.
Can you add the LICENSE to the repo?
May I use/learn some parts from your codebase to create similar gadget (inside Episerver EditView)?
Geta/EpiCategories is a popular module and has been implemented within a number of builds and has been requested by clients looking to my Agency for new builds. We are aiming for all new builds to be built upon Optimizely CMS 12 and would like to see this package updated to match that target framework.
Is there a way to add sort order for the categories so that we can have it in the order we need instead of alphabetic order which is default. Can you please help.
Just tried installing on a default Alloy site on the latest version of Episerver (v11.9.2 at time of writing). Installed Geta.EpiCategories and implemented a default basic category. However I cannot create categories for selection. Cannot see any errors in the console. Will continue to investigate and update if I find anything else.
Am I missing something in the set up or is it an issue? Have tried on a standard Alloy site and also on Alloy demo kit with the same issue.
Example project: https://www.dropbox.com/s/5bu1pugf6zhkff4/GetaCategoriesInstall.zip?dl=0
sorry guys, i could not find any other place where to put my question. please move it to the more appropriate place. Thank you though if you can explain to me how i can programatically create a category. The best, HF
I see some confusion on the "Set Access Rights" page regarding the structure of Geta.EpiCategories. Also for the customer
Is there a way to change the CategoryRoot(type) "For All Sites" to any other custom name?
I tried on to change it on All Properties view - Name text box, but after Published, it's reverting back to "For All Sites".
Tried to change in database tables ([tblWorkContent] and [tblContentLanguage]), but its updating/adding row with "For All Sites".
Any way to change???
Thanks in advance
Sekar
This issue has two parts.
The first part is that the geta category drop down selector in visitor groups only seems to collect categories that exists below "For all sites" and not from "For this site". I don't know if this is intended but for me personally it makes sense to see categories in both paths.
The second part is that in DXP the category drop down selector in visitor groups don't get populated at all. I have some categories in "For all sites", but the category options is empty.
I deleted all my categories and re-added them and then they appeared.
Hi, the NuGet package 1.2.1 doesn't have the configuration transform. So the clientresources give 404 and you need to manually add the "add name="geta-epicategories" to the protected modules.
After adding EpiCategories, the path to global assets is broken. Instead of rendering something like "globalAssets/.." it is rendering the culture and picture name, e.g. "/en/us/picture.png" instead of "/globalassets/picture.png"
First: LOVE THIS PACKAGE.
Found an issue when a site has site-specific assets enabled. Using Episerver's Foundation code (both Foundation and Foundation CMS).
To reproduce:
Enable Site-specific assets for the site.
(Not sure if this is required, but...) Add a Category inside of For This Site.
Attempt to copy the site - Use the context menu to Copy the home/start page.
Paste into Root (or anywhere outside of the site itself).
I get this error:
We are using Geta.EpiCategories package in our code and utilizing it on the property for category selection like shown below.
[CultureSpecific]
[Display(
Name = "Industries",
Order = 510,
GroupName = CustomTabNames.Taxonomy)]
[Categories]
[AllowedTypes(new[] { typeof(IndustryCategory) })]
public virtual IEnumerable Industries { get; set; }
When we were on 1.2.6 version, we were getting only allowed categories(see below pic) in the selection like Industry Category
but now, we have upgraded the package from 1.2.6 to 1.2.10 and the Category selection popup(see below pic) is now showing all category types in the latest version, instead of showing just allowed category type like shown in the above pic.
Question: Is there a way to show only Allowed category type in the selection popup and hide the other category types?
I have a customer who wants to be able to set rules for which categories may be used by content type. They need to categorize landing pages, news pages, and uploaded documents differently and want the restriction to be enforced through configuration.
Adding a category to a document should only come from the "Documents" root node, for example. This can't be directly managed with permissions as someone might be uploading documents as part of adding a news article. Validation rules can be applied, but this is an after-selection activity. What they need is to not show invalid options to begin with.
Preference would be to limit categories via property configuration.
I get the following runtime error:
There is no contentType registered for: Geta.EpiCategories.CategoryRoot
I am using Episerver 11.3.4.
[NotSupportedException: There is no contentType registered for: Geta.EpiCategories.CategoryRoot]
EPiServer.Core.Internal.DefaultContentRepository.GetDefault(ContentReference parentLink, CultureInfo language) +270
Geta.EpiCategories.Extensions.IContentRepositoryExtensions.GetOrCreateCategoriesRoot(IContentRepository contentRepository, ContentReference parentLink, String name, String routeSegment) +243
GetGlobalCategoriesRoot(Object ) +58
Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target) +113
[JsonSerializationException: Error getting value from 'GlobalCategoriesRoot' on 'Geta.EpiCategories.CategorySettings'.]
Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target) +273
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues(JsonWriter writer, Object value, JsonContainerContract contract, JsonProperty member, JsonProperty property, JsonContract& memberContract, Object& memberValue) +201
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) +1173
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) +1173
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeDictionary(JsonWriter writer, IDictionary values, JsonDictionaryContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) +1063
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) +1173
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) +806
Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType) +401
Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType) +1153
EPiServer.Framework.Serialization.Json.Internal.JsonObjectSerializer.Serialize(TextWriter textWriter, Object value) +74
EPiServer.Shell.Web.Mvc.Html.ScriptExtensions.SerializeObject(HtmlHelper html, Object value, String contentType) +252
Hide default Episerver Category should be optional instead of this package do it for you. Its a major problem on the existing site which uses Episerver categories and hiding the category property confuses the editors when the migration is still in progress.
Hi,
This lovely package was installed by using the Episerver Foundation package and now our customer wants to use Visitor Groups to display specific blocks on pages.
We saw there's an option below Site Criteria called Visited Geta Category, but when I open the dropdown by the Category property it is empty and has no categories, while there are a lot added on the site.
Is this a known issue or could you advice us how to fix this?
We don't see any console errors or something like that.
Thanks in advance!
Grtz Sander
Added a category criterion to choose how many times a category has been visited
Issues when Importing 'CategoryData' due to not having the [ContentType] attribute. Issue and solution is described in this forum post.
Could you please update the document for this package: Geta.EpiCategories.Find, right now I can't find anything explain how it works.
More info here - https://www.david-tec.com/2019/10/migrating-episerver-categories-to-geta-categories-epicategories/
Scheduled job should be disabled by default.
Docs should updated to mention this job.
We have recently launched a site using this plugin because of the need for the extra functionality that it provides. However the site started returning a 403 error and we could not access the cms edit area. Upon further investigation I found that it was related to the content loader being used in the GetOrCreateGlobalCategoriesRoot function of the IContentRepositoryExtensions class where it all of a sudden could not find the category root. I was able to get the site back up and running by unchecking the “Site specific assets” checkbox in the site configuration, saving the site, and then checking that box off again.
The site is using Episerver CMS version 11.10.6, and does not have commerce.
I am going to fork the repository to debug this issue further.
Hi,
We've noticed an issue when exporting/importing content between environments - any categories assigned to the content are duplicated and added under the same parent as the content you're importing.
To reproduce the issue:
However, this automatically generated folder 'Meta keywords' and the child content of the categories cannot be seen in the CMS editing tree:
This means that the user must use the Manage Content tool in order to remove the problem folders/categories.
Is this something you've encountered yourself and are you aware of a fix or workaround?
Thanks very much!
Bradley
CategorySelector.js fails at line 80: postMixInProperties (), saying it expects a ":" when switching to properties view in episerver 11 CMS edit mode.
I tried patching the file to
postMixInProperties: function ()
but that led to other DOM errors.
I've noticed that the version "compare" view in edit mode is no longer working for pages where I have a populated property that is decorated with the [Categories] attribute (instead of showing the all properties view with changes highlighted it just shows a preview of the page).
We are using Geta.EpiCategoriesVersion=1.2.6.0 package.
Epi CMS core : 11.20.12
Epi CMS UI: 11.36.5
Using it in this way in our code :
[CultureSpecific]
[Display(
Name = "Region name",
Order = 10)]
[UIHint(CategoryUIHint.Category)]
[AllowedTypes(AllowedTypes = new[] { typeof(RegionCategory) })]
public virtual ContentReference RegionName { get; set; }
and calling this from a complex type :
[CultureSpecific]
[Display(
Name = "Region spotlights",
GroupName = SystemTabNames.Content,
Description = "",
Order = 30)]
**public virtual IList<ImpactStoryData> RegionSpotLights { get; set; }**
When we are using custom field like above it displays all Categories, even if the AllowedTypes is mentioned as Attribute here.
How can i show only Allowed Types and hide other categories from the list as shown in the screenshot ?
Is it possible to include some kind of caching here? Some of our content editors are not able to load these categories as the page just freezes when the category tree is clicked. Cheers
Hello,
The categories do not show up when searching in the CMS View. However, they are showing up in the FIND index.
This is the search query in dev tools
...../EPiServer/shell/Stores/searchresults/?parameters=%7B%22filterOnDeleted%22%3Atrue%7D&filterOnCulture=false&searchRoots=8&searchRoots=11&searchQuery=abuse&dojo.preventCache=1585957655713
and the response is {}&&[]
Please let me know if I need to configure anything else. Thank You
Mohan
As the Geta.Categories can be added as a gadget in Episerver UI when adding it the dialog displays wrong texts (seems some random text inherited by some convention).
The CategoryTreeComponent only overrides the title but not the description property (as seen in the pic, missing text).
May I suggest that you put the title and description texts to your language file (and add the missing description text). This way it would be easier to localize in projects that want to use languages that you don't have localizations for. I would have the title as "Geta Categories" as it would be clear to users VS currently it is using Episerver CMS categories title (which could change and for example currently there is a bug in Finnish text (currently in Finnish "Muokkaa kohdetta {0}", which means edit target 0 the placeholder ;) )
Looking at the sources in GitHub it looks like these sources are not the ones that has been used to built the Episerver NuGet feed package? Latest sources are not available here? Based on this when looking at the geta.epicategories.xml file for example it has Finnish localizations but the file in GitHub doesn't. Just asking ;)
Are there any way to hide Category property that links to default Episerver categories?
Scaffolding property does not help. Furthermore, you can't override the property.
If I have a property like this.
[Categories]
[Display(Name = "Ämnen", Description = "Ämnen", Order = 11)]
[AllowedTypes(typeof(SubjectCategory))]
public virtual IList<ContentReference> Subjects { get; set; }
And have a tree with categories like this:
-Marketing (SubjectCategory)
-IT (AnotherCategory)
--Kommunication (SubjectCategory)
--Issues (SubjectCategory)
--Projects (SubjectCategory)
IT won't show up and SubjectCategories under it won't show up. Only Marketing.
Is there a way to solve this? Or is it a bug?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.