15 May 2018

feedeZ News

Automated Translation Connector has Arrived!

eZ Automated Translation is the first connector created out of the "Build with eZ" initiative we launched in March. This translation connector was a joint effort between eZ's product team and Sébastien Morel, CTO of Novactive US. The connector is simple to use and allows end-users to translate text and characters to over 100 different languages. A useful function for customers who have multilingual and multi-site configurations in their projects. Let's take a deeper look into the capabilities of this connector.

The eZ Automated Translation connector has three core capabilities/benefits:

The connector is simple to use and, in many ways, similar to the regular interaction in eZ Platform when translating content manually. All the user needs to do is log in to eZ Platform and choose the content item to translate. The user will go to the "Translation" tab, click on the "add translation" button, choose the language she wants to translate from, and then select the language she wants to automatically translate to.

The system will then automatically translate the content by calling the configured translation service, while maintaining the structure and style of the original content piece. The user can then go ahead and publish the content item and view it live on her website.

Below is an illustration for how to use the eZ Automated Translation connector.

We are thrilled to add this new capability to eZ Platform v2.1. The package is open source and available on Github: https://github.com/ezsystems/ezplatform-automated-translation.

Automatic translation services have made huge progress in the last years and have become a viable option for many cases. We believe editors will truly appreciate this feature, as it allows them to easily and quickly translate content. All they have to do afterwards is review, refine and improve the translated content as needed.

We have no doubt this tool will allow teams to be more efficient and save time as they deal with multilingual content. Plus, the eZ Automated Translation connector is not limited to Google Translate and DeepL only, it can be extended to include additional translation services. There are several options on the market that can be easily integrated to our connector with APIs.

If you have comments, questions or suggestions on our Automated Translation connector, be sure to leave a note in the comments section below or on our discussion forum at discuss.ezplatform.com.

15 May 2018 3:53pm GMT

14 May 2018

feedshare.ez.no > All forums (topics and replies)

function attribute_edit_gui not working

Here is my code, I want set for input type "email" but it don't work, What i am doing wrong?

{foreach $object.contentobject_attributes as $lidx => $ContentObjectAttribute}

{switch match=$ContentObjectAttribute.contentclass_attribute_identifier}
{case match="email"} {set $attr='type="email"'} {/case}
{/switch}

{attribute_edit_gui attribute=$content_attributes[$lidx] attr=$attr}

{/foreach}

14 May 2018 8:03am GMT

11 May 2018

feedeZ News

The Week in Review: Improving UX, Connector Competition and More

News

Improving eZ Platform User Experience

Last week Inaki Juaniz-Velilla (UI/UX Developer at eZ) and André Rømcke (VP Technical Services & Support) both wrote about eZ Platform user experience improvements for editorial teams. These improvements can be found in the latest release 1.13.2. Read both of their blog posts to learn more on how we work with enterprise customers, and what these improvements include.

Call for feedback

"The Online Editor is possibly one of the most important features in eZ Platform, when it comes to editorial experience. That is why we wanted to share regarding this specific change, and also gather wider feedback on the other changes proposed above. We would like to gather feedback related to these improvements to the editorial experience of eZ Platform users. We invite and welcome all of your comments and ideas."

Leave a comment below the blogs or e-mail product management directly, and give us your feedback!

Getting the Permissions for the Admin Panel Right

Product managers and engineers at eZ are in the process of properly handling permissions in eZ Platform U.I. rolling out improvements to the next releases (2.2, 2.3, 2.4), with the goal of having a large and strong coverage by the LTS in December.

Help us get the permissions right and leave your vote. We have setup a poll on our forum with suggested solutions.

Connector Competition Continuous

The Connector Competition which started in April will continue all through May. You can still join and have a chance to win $ 2,500. The winner of this round will be announced at the eZ Conference on June 6 in Cologne.

Got questions? Post them on our forum!

A quick reminder that we launched a new and dedicated forum for eZ Platform at https://discuss.ezplatform.com. Why a new forum? We launched this new forum for several reasons. The most important one is to preserve our knowledge around eZ Platform and to make it available to everyone. Join us, share your knowledge, and ask your questions to fellow eZ Platform developers on https://discuss.ezplatform.com.

In Other News:

Resources

Edgar EzUIFaviconBundle

As part of is 'One Monday One Bundle' effort, Emmanuel Drouet has released another bundle. Called EzUIFaviconBundle, this bundle lets you generate favicons for your site accesses within eZ Platform. You can watch a demo on YouTube and find the source on Packagist.

Looking for a bundle compatible with eZ Platform? Check out: https://ezplatform.com/Bundles.

Social Media

I think one of our biggest #ezplatform bundle is almost finished! Hope it'll be ready for the #ezconf2018 to demo it to you at our booth! (hint: it's a newer, better, fancier, completely revamped version of a well-known community legacy extension) #staytuned #ezcommunity ;-)

- Sébastien Morel (@Plopix) May 5, 2018

Version 5 of the eZMigrationBundle is out with some great new features. From #kaliop with love :-)https://t.co/lXpKt3H4ct

- Gaetano Giunta (@gggeek) May 11, 2018

What happens in the shadows of the CMS?@Namshee from @GatherContent started out with changing needs of orgs in terms of content production

Great to be back at @eZSystems in Brooklyn hosted by @rolandbenedetti

Next up:
Discussion on #blockchain hosted by @alan_pelzsharpe pic.twitter.com/2R4tmb2HPt

- Janus Boye (@janusboye) May 9, 2018

Tip: check out the CMS Expert East Coast group.

Follow us on Twitter, Facebook, LinkedIn, Google+, or YouTube, and join our Community for any help with eZ Platform or community-related questions.

Find eZ at These Events

For more events, make sure to check out this list.

Each week we publish a roundup of highlights from the eZ ecosystem. If you have any news or events to share, please contact me.

(Lead image credit: Christopher Sessums, CC)

11 May 2018 4:24pm GMT

10 May 2018

feedshare.ez.no > All forums (topics and replies)

Upload multiple files from ez publish 5.X. + form with collect information

Can anyone help me in this issue ? I have researched regarding this issue but couldn't find anything.

I have simple feedback form and i want that user to be able upload file.

Any links to DOC or suggest will be helpful for me.

I found this extension https://github.com/netgen/enhancedezbinaryfile, after enable this extension I'm able choose "Enhanced File" but on front page it give me this error "Could not find 'eZ\Publish\SPI\Persistence\Content\FieldValue\Converter*' with identifier 'enhancedezbinaryfile' (404)"

Any idea?

10 May 2018 1:03pm GMT

04 May 2018

feedeZ News

Improving eZ Platform User Experience for Editorial Teams

A story of how we work with Enterprise customers

For some background on these improvements, it's worth mentioning how we are aiming to work with our Enterprise customers, though this is not unique to this improvement, we do this across a lot of the changes you see-including in our latest release.

Across our organization, especially in the customer-facing areas, we are focused in learning how our customers use and experience our software. This in turn informs the relevant area of our organization, which helps us better discover, design and prioritize future changes to our product. We do this because our success in the long run is directly dependent on our customers' success with our software.

This particular change is a good example of that. The customer who provided feedback to us is in the News industry, has a large editorial team spread across the world, and they typically spend extensive time working on content in the CMS. They are a key customer within one of the markets we especially care for and optimize eZ Platform for.

Their feedback was quite simple: The Paragraph toolbar is inhibiting basic editorial tasks and hence was annoying the team.

They also asked if the toolbar could behave more like a standard Alloy.

Some background on the Online Editor, and it's usage of Alloy

At this point, it is worth diving into the background of the Online Editor, our RichText Editor. It is based on Alloy Editor, which in turn is based on CKEditor.

Back when we decided to use Alloy, we noticed that we needed more advanced block handling than what it offered. We knew we needed capabilities such as moving blocks up and down, removing them altogether, controlling their alignment, or switching between header levels and between image sizes. And back then there were indications from the Alloy team (Liferay) that the changes we intended to do were perhaps not the direction they wanted for the project itself, ruling out contribution (for now).

This is how the custom toolbar handling for blocks was born. And in our initial user testing, it fared quite well.

User testing is something you ideally never stop doing

Almost in parallel to the issue our customer reported in regards to the toolbar, our Product Management team had already been running a series of user testing sessions and this issue was also turning up. The major pain point detected showed users clicking above the paragraph they were working on to move the toolbar up to be able to read the content just written (a very usual task when editing or creating content).

hotjar user testing

View of user testing flow for a long editorial workflow (~45 minutes), showing all interactions performed so far. Within the blue circle, all main editorial interactions. Within the red circle, extra interactions for avoiding the Paragraph toolbar.

A common use case showed a user clicking an average of 25 times for a long editing workflow, about 45 minutes. Users' tricks to avoid the Online Editor toolbar? Clicking on two paragraphs above; clicking one paragraph below; or clicking outside of the Input Rich Text box, as seen on the clicks on the right toolbar.

Another interesting finding related to this paragraph toolbar pointed out that alignment buttons are barely used when performing common editorial tasks. In addition, we also detected the need for improvements in other toolbars that are part of the Online Editor.

So when the customer request came through, we were ready to work together with them. We already had the background knowledge plus a good hunch of what was the customer's real issue.

Changes available as of last week v1.13.2 release

To address our customer's feedback we decided to split the efforts into two scopes-one short-term for v1.13, and one mid-term for v2.

For v1.13, we sought out a few different approaches:

  1. Introduce larger margins between blocks and slim down the toolbar to fit within those margins
  2. Hide the toolbar while typing

However, after iterating with our customer's team and testing them, both of these approaches proved to be clunky or janky. So in the end, we looked into attaching the toolbar to the top of the editor, which proved we needed to handle cases where the top of the editor is not visible within current browser view.

The final resolution, which the customer was satisfied with, is the following:

In the wood

Screenshot Online Editor v1.13.2 - Paragraph toolbar now positioned on top of the editor view (click here for video/screen-cast to see it in action)

Thoughts on where to take this in the future for v2

When we decided to improve our Online Editor experience from eZ Publish Platform to eZ Platform v1, we wanted a solution to write rich editorial content with ease, efficiency and comfort via a refined and simplified Online Editor. Our main objectives were:

Editorial UX is a key driver in the choice of a CMS. That's why ease-of-use and speed are our main focus for the upcoming improvements in this fall's Fast Track release, including for the Online Editor.

The feature improvements in the upcoming Fast Track releases rely on placing content at the center of the editorial experience. This is one of the most important aspects we have learned from our exchange with this specific customer in the News industry but also with customers in other domains-and it's something we truly agree on.

Among the things we consider for v2 improvements:

Prototype - Paragraph selected and displaying Paragraph toolbar (Work in progress).

changing headings

Prototype - Paragraph toolbar active displaying paragraph heading options (Work in progress). Options button displays four options for paragraphs: Heading format, alignment, move up and down. Heading options interaction showed.

Prototype - Selected paragraph toolbar active displaying paragraph alignment options (Work in progress). Alignment interaction showed.

Prototype - Text highlighted and displaying text styling toolbar (Work in progress)

Prototype - Text highlighted and displaying hyperlink toolbar with internal link selected and open in the same tab option selected (Work in progress)

Call for feedback

The Online Editor is possibly one of the most important features in eZ Platform, when it comes to editorial experience. That is why we wanted to share regarding this specific change, and also gather wider feedback on the other changes proposed above.

We would like to gather feedback related to these improvements to the editorial experience of eZ Platform users. We invite and welcome all of your comments and ideas, please feel free to comment below or send them out to productmanagement@ez.no.

04 May 2018 7:26pm GMT

11 Apr 2018

feedshare.ez.no > All forums (topics and replies)

Re: How to instruct eZ Publish 5 to work with relative URL on ezimage rendered images?

Hi, I am also interested

11 Apr 2018 7:44am GMT

12 Nov 2011

feeddrupal.org aggregator

Drupal core announcements: Core's directory structure reorganized

As of 2011-11-01, most files in Drupal core live in a 'core' subdirectory. We did this to make it easier to tell what's core vs. site-specific code (e.g. to discourage people from installing modules into the 'modules' subdirectory in the webroot) and to make it easier to upgrade to newer versions. See #22336: Move all core Drupal files under a /core folder to improve usability and upgrades for the full story and/or the API change record: Most Drupal core files now live in a "core" subdirectory.

One of the only drawbacks of this change is that bug fix patches for Drupal 7 no longer apply to Drupal 8 without being rerolled. However, generally it's easy re-roll a patch in this situation. xjm wrote up detailed instructions for re-rolling patches here: http://xjm.drupalgardens.com/blog/rerolling-drupal-8-core-patches

A more simple (but less effective in some cases) way to re-roll was written up by scor over at comment #306 of the original issue.

Please don't reopen the original issue with follow-up suggestions or bug reports -- those belong in new issues.

Core

12 Nov 2011 8:39am GMT

11 Nov 2011

feeddrupal.org aggregator

Morbus Iff: Achievements 7.x-1.4: Using print render($a) and render arrays

The Drupal Achievements module offers the ability to create achievements and badges similar to systems seen on Xbox 360, Playstation 3, Foursquare, Gowalla, GetGlue, and more. For a Drupal site, this could mean commenting a certain number of times, starting a forum topic, visiting the site every day of the week, or anything else that can be tracked and coded. The recently released 7.x-1.4 update focuses on changes that make theming easier.

In my first post about #theme_wrappers, we fixed up bad HTML in #prefix and #suffix to give themers an easier time. This post, about render arrays, is no different. In fact, most of the tweaks in Achievements 7.x-1.4 are not very obvious, or even useful, to module developers. It's only when you sit down with a themer who wants to change the entire look and feel that you realize your carefully-coded "looks good in Garland!" output is not as useful as you think.

Why render arrays are better

You've probably read about render arrays in the Drupal Developer's Handbook already, but the documentation doesn't really give a developer a decent reason why they should use them. It also doesn't talk about $content or splitting your variables into "data" and "presentation". I'll cover both below.

First, let's look at the wrong approach:

    $build['image'] = theme('image', array('path' => array('misc/druplicon.png')));

If this was passed to a theme file, the themer would simply print $image; and be done with it. The themer could even link the image if they wanted, but they wouldn't be able to add any classes or attributes to the image, since calling theme() directly always returns rendered HTML. Here's what the above looks like as a render array:

    $build['image'] = array(
      '#theme' => 'image',
      '#path' => 'misc/druplicon.png',
    );

To get this to display in the theme, we'd use print render($image); instead. In this case, the theme is telling Drupal to render the HTML, not your module. Why is this important? Ignoring the nebulous "I CAN'T ADD CSS CLASSES, SNIFF!" themer lament, consider the following small tweak to our original bad example:

    $image = theme('image', array('path' => array('misc/druplicon.png')));
    $build['image'] = l($image, 'node', array('html' => TRUE));

Here, we've simply added a link to our dummy image and the themer gets the fully rendered HTML to print out. Everything is toasty... unless the client or theme doesn't want or need the image to be linked. The themer now has no choice: they either have to use a regular expression to strip out the unwanted link or they have to recreate the $image variable in his own, well, image. Not only is that fragile (it's essentially copying module code to the theme and that code might change in a future version), but it also mixes too much logic with too little presentation. If the image's path isn't available to the theme as its own variable (it isn't, in the above example), the themer will still have to parse your rendered HTML to find the image's path first. Yuck.

Let's convert the above to a render array:

    $build['image'] = array(
      '#theme' => 'image_formatter',
      '#item' => array(
        'uri' => 'misc/druplicon.png',
      ),
      '#path' => array(
        'path' => 'node',
        'options' => array('html' => TRUE),
      ),
    );

Now, if the themer wants to remove the link, they can listen in a theme override, a preprocess, or even the dreaded hook_page_alter() and simply unset($variables['image']['#path'])'. No more link, without duplicating any upstream code or recreating things themselves. This is a real-life example, by the way - I just finished an optional submodule of Achievements which removes all links to the default leaderboards. I couldn't have easily done that if I used either of the link approaches below:

    $build['achievement_title'] = l($title, 'path/to/achievement');
    $build['achievement_title']['#markup'] = l($title, 'path/to/achievement');

But with the following render array:

    $build['achievement_title'] = array(
      '#type' => 'link',
      '#title' => $title,
      '#href' => 'path/to/achievemnt',
    );

I can make those links linkless:

  unset($variables['achievement_title']['#type']);
  $variables['achievement_title']['#markup'] = $variables['achievement_title']['#title'];

Data, presentation, and $content['a'] not $a

This doesn't mean that every single variable you pass to the theme should be a render array: there's clearly a difference between variables that represent data (an image path, the $node or $user object, a Unix timestamp, etc.) and variables that are meant for presentation (the linked image, the node's filtered teaser, a human-readable date, etc.).

There's a move afoot to more clearly indicate these two types by using a $content variable as a container for all the supplied render arrays. Drupal core does this in some places (node.tpl.php, for one), but not all, and it's slowly becoming a preferred practice in the theming world. Another benefit is the ability to use print render($content);, which says "render everything I haven't already rendered", allowing themes to display things that they, or the parent module, might not know about (new data added by a third party module in a preprocess, etc.). I've yet to implement this in Achievements, but I'll likely get there for the next release.

11 Nov 2011 6:57pm GMT

Trellon.com: Looking ahead to Drupalcon Denver

With each week that DrupalCon Denver is coming nearer, the excitement in the community grows. At Trellon, we're not immune to that excitement, and we're proud to be a Platinum sponsor of Drupalcon Denver. We're looking forward to seeing members of the Drupal community there, both old friends and new. We're excited about the opportunity that Drupalcons give us not only to learn more about the direction of Drupal, but to help shape it. We're eager to learn what new and exciting things people around the world have been doing with Drupal.

read more

11 Nov 2011 6:00pm GMT

09 Nov 2011

feedPlanet Zope.org

Updated MiniPlanet, now with meta-feed

My MiniPlanet Zope product has been working steady and stable for some years, when suddenly a user request came along. Would it be possible to get a feed of all the items in a miniplanet? With this update it became possible. MiniPlanet is an old-styl...

09 Nov 2011 9:41am GMT

07 Nov 2011

feedPlanet Zope.org

Welcome to Betabug Sirius

It has been quite some time that I announced_ that I'd be working as a freelancer. Lots of stuff had to be done in that time, but finally things are ready. I've founded my own little company and set up a small website: Welcome to Betabug Sirius!

07 Nov 2011 9:26am GMT

03 Nov 2011

feedPlanet Zope.org

Assertion helper for zope.testbrowser and unittest

zope.testbrowser is a valuable tool for integration tests. Historically, the Zope community used to write quite a lot of doctests, but we at gocept have found them to be rather clumsy and too often yielding neither good tests nor good documentation. That's why we don't use doctest much anymore, and prefer plain unittest.TestCases instead. However, doctest has one very nice feature, ellipsis matching, that is really helpful for checking HTML output, since you can only make assertions about the parts that interest you. For example, given this kind of page:

>>> print browser.contents
<html>
  <head>
    <title>Simple Page</title>
  </head>
  <body>
    <h1>Simple Page</h1>
  </body>
</html>

If all you're interested in is that the <h1> is rendered properly, you can simply say:

>>> print browser.contents
<...<h1>Simple Page</h1>...

We've now ported this functionality to unittest, as assertEllipsis, in gocept.testing. Some examples:

self.assertEllipsis('...bar...', 'foo bar qux')
# -> nothing happens

self.assertEllipsis('foo', 'bar')
# -> AssertionError: Differences (ndiff with -expected +actual):
     - foo
     + bar

self.assertNotEllipsis('foo', 'foo')
# -> AssertionError: "Value unexpectedly matches expression 'foo'."

To use it, inherit from gocept.testing.assertion.Ellipsis in addition to unittest.TestCase.


03 Nov 2011 7:19am GMT

13 Oct 2011

feedshare.ez.no > Articles and Tutorials

Building native mobile applications with the eZ Publish REST API

eZ Publish is a Web Content Management System that provides a platform to publish content via any channel. Its powerful presentation engine enables you to create websites and pages that display your content in a variety of renderings. Its powerful API directly and simply integrates your content with any web-enabled application on any device, such as the iPad, iPhone, or an Android device, without ever interfering with, or impacting the platform itself.

At the end of this tutorial, you will have learnt the basics of mobile application development for both iOS and Android platforms, consuming content from eZ Publish. CMS-side adjustments for the mobile channel will be acquired too. This cheatsheet will help you leverage the multichannel capabilities of eZ Publish, and its REST API in future projects, in a more systematic fashion.

13 Oct 2011 2:21pm GMT

16 Aug 2011

feedshare.ez.no > Articles and Tutorials

Image Maps in ezwebin Banners

Beginners guide for learning how to use image maps in the ezwebin extension.

16 Aug 2011 12:40pm GMT

07 Jul 2011

feedshare.ez.no > Articles and Tutorials

Building mobile browser and hybrid applications with eZ Publish

eZ Publish is a Web Content Management System that provides a platform to publish content via any channel. Its powerful presentation engine enables you to create websites and pages that display your content in a variety of renderings. Its powerful API directly and simply integrates your content with any web-enabled application on any device, such as the iPad, iPhone, or an Android device, without ever interfering with, or impacting the platform itself.

At the end of this tutorial, you will have learnt the basics of mobile application development for both iOS and Android platforms, consuming content from eZ Publish. CMS-side adjustments for the mobile channel will be acquired too. This cheatsheet will help you leverage the multichannel capabilities of eZ Publish, and its REST API in future projects, in a more systematic fashion.

07 Jul 2011 1:29pm GMT