Giter Club home page Giter Club logo

bento.editor's People

Contributors

chrden avatar ewneon avatar hifi-phil avatar pgregorynz avatar ribsdigital avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bento.editor's Issues

Difficulty getting started

I think I've got myself into a bit of a mess whilst trying to setup. I followed the instructions in the readme but I keep getting an error when saving a content node that contains Bento

A duplicate value cannot be inserted into a unique index. [ Table name = umbracoRelationType,Constraint name = IX_umbracoRelationType_name ]

I think this relates to the bentoitems RelationType. When I delete it I can save again but the error keeps coming back.

Is there an order that I need to set up all the elements in?

Create layout views automatically

When saving a layout in the bento stack datatype the corresponding view should be created in the /views/partials/bento/layouts folder

FEATURE: Live preview in back office

users should have the option of seeing their Bento Stack content in the back office.

  • Should be optional
  • Should allow setting of scale
  • Should load in iframe
  • Should update when use makes changes to content
  • Should collapse to tab on smaller screens

Saving error: Cannot deserialize JSON

Hi,

when I try save content with "Grid layout" data type, I get this error:

Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.IEnumerable`1[Bento.Core.Models.StackItem]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly. To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object. Path 'name', line 1, position 8.

Exception Details
Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.IEnumerable`1[Bento.Core.Models.StackItem]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly. To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object. Path 'name', line 1, position 8.

I found a problem in Bento.Core.Events.ContentServiceEvents.ContentService_Saved on line 154

IEnumerable<StackItem> items = JsonConvert.DeserializeObject<IEnumerable<StackItem>>(valueString, new StackItemConverter());

Grid layout can't bind to StackItem model.

Is this bug or I do something wrong?
THX.

FEATRUE: Copy layout, copy area

It would be good if we could have a copy layout feature and a copy area feature. This would make creating pages that have repetitive setup much easier.

This could be done with a simple copy like nested content has. When inserting a new layout it has a section that shows the available copies that could be inserted. The same when inserting items in areas. If there are areas in the pastebin it allows those to be inserted.

  • Things that need to be considered. What layouts are allowed in the editor. What areas are allowed in the layout

Umbraco 9?

Is there a plan to create an Umbraco 9 version of this package?

Prefill layout area alias

Another awesome idea for lazy people like myself if the Area alias field was also populated with a camelcase copy of the Area name. The idea is based on how Document Type aliases are generated. This would only happen if the field is dirty, if the field has a value already it should be retained.

System.NullReferenceException using Multi Node Tree Picker to link to Bento Stack Document

System.NullReferenceException When using Multi Node Tree Picker to link to a Parent Node of a Bento Item from a Member Document type.

To reproduce create a custom property of Data Type Multi Node Tree Picker in a Member Document Type. Create a member, point the Multi Node tree picker at the parent of the Document Type that case the Bento Stack property.

Error:

at Bento.Core.Controllers.BentoResourceController.GetRelationsByChildId(Int32 childId)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.b__2(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()

Typo/error in documentation

in the templating section...

@foreach(Bento.Core.Models.StackItem layout in Model.MyBentoStackProperty){
<section>
@Html.Partial($"~/Views/Partials/Bento/layouts/{item.Alias}.cshtml", item)
</section>
}

In these lines, 'item' should be 'layout'

create an example

Hi Peter,

I think adaption would be fast if you add an example installation

Testing this later!! Description sounds promising.
Jesper

Username and Password for Example Site

Hey,

This looks really great, I want to take a look at the example site. I can't find the username and password for the Umbraco back office.

Can you add it to the readme?

Thanks!

Matt

Is this project dead?

I am not seeing much activity on this project, there are pull requests outstanding.

Please can you let me know if the project is dead or when and if the pull requests will be added and if people should be using Bento in production?

Prefill layout alias

It would be awesome for lazy people like myself if the Layout Alias field is populated with a camelcase copy of the Layout name. The idea is based on how Document Type aliases are generated. This would only happen if the field is dirty, if the field has a value already it should be retained.

When assigning a layout settings doctype it should create the styler file also

it should automatically create a styler cshtml file in the /views/partials/bento/stylers folder Basic markup should be

@inherits  UmbracoViewPage<IPublishedElement>
<div class="bento bento-styler-wrapper">
    <div class="bento-styler">
    </div>
</div>

User can then extract any settings data they want to apply to back office. The bento-styler div should be absolutely positioned and fills the entire background. This should only be included if the user has selected they want back office layout css.

links in backoffice previews are clickable when using front end views

if you're using front end views in the backoffice and the markup contains 'a' tags they are clickable.

this means when you click the preview to edit the item, if you happen to click an area that is wrapped in a link you navigate away from the backoffice to the href value of the link.

INVESTIGATE: Allow inserting more Areas in a cell of a layout

Some editors would like to be able to insert more than one item in an area of a layout.

Concerns that it will become more like the standard Umbraco "Grid Layout".

Bento was created to function like CSS grid. Where an item is assigned to a grid area.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.