26 Jul 2017

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

Re: How to edit sidebar?

Quote from Robin Muilwijk :

Depending on your version, there should be an option in the back end called 'System Information'. This contains the eZ version installed.

Version:Community Project 2013.6 (Community Project 2013.6)

this is my version, which i use.

26 Jul 2017 11:33am GMT

Re: How to edit sidebar?

Depending on your version, there should be an option in the back end called 'System Information'. This contains the eZ version installed.

26 Jul 2017 8:08am GMT

25 Jul 2017

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

Programmatic Login

Hello everyone,

I have a ez6 application and a registration form. After the user did the registration, I am trying to login the user automatically.

I have the following code at the moment but I get redirected to the login page with infinite redirects

<</span>span>$contentTypeIdentifier </</span>span><</span>span>= </</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>getConfigResolver</</span>span><</span>span>()-></</span>span><</span>span>getParameter</</span>span><</span>span>(</</span>span><</span>span>'user.content_type_identifier'</</span>span><</span>span>, </</span>span><</span>span>'ngmore'</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>$contentType </</span>span><</span>span>= </</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>getRepository</</span>span><</span>span>()-></</span>span><</span>span>getContentTypeService</</span>span><</span>span>()-></</span>span><</span>span>loadContentTypeByIdentifier</</span>span><</span>span>(</</span>span><</span>span>$contentTypeIdentifier</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>$languages </</span>span><</span>span>= </</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>getConfigResolver</</span>span><</span>span>()-></</span>span><</span>span>getParameter</</span>span><</span>span>(</</span>span><</span>span>'languages'</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>
</</span>span><</span>span>/** @var UserCreateStruct $userCreateStruct */
</</span>span><</span>span>$userCreateStruct </</span>span><</span>span>= </</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>get</</span>span><</span>span>(</</span>span><</span>span>'ezpublish.api.service.user'</</span>span><</span>span>)-></</span>span><</span>span>newUserCreateStruct</</span>span><</span>span>(
</</span>span><</span>span>    </</span>span><</span>span>null</</span>span><</span>span>,
</</span>span><</span>span>    </</span>span><</span>span>null</</span>span><</span>span>,
</</span>span><</span>span>    </</span>span><</span>span>null</</span>span><</span>span>,
</</span>span><</span>span>    </</span>span><</span>span>$languages</</span>span><</span>span>[</</span>span><</span>span>0</</span>span><</span>span>]</</span>span><</span>span>,
</</span>span><</span>span>    </</span>span><</span>span>$contentType
</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>enabled </</span>span><</span>span>= </</span>span><</span>span>true</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>alwaysAvailable </</span>span><</span>span>= </</span>span><</span>span>true</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'salut'</</span>span><</span>span>, </</span>span><</span>span>new </</span>span><</span>span>Value([</</span>span><</span>span>0</</span>span><</span>span>]))</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'first_name'</</span>span><</span>span>, </</span>span><</span>span>$customer</</span>span><</span>span>-></</span>span><</span>span>getFirstName</</span>span><</span>span>())</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'last_name'</</span>span><</span>span>, </</span>span><</span>span>$customer</</span>span><</span>span>-></</span>span><</span>span>getLastName</</span>span><</span>span>())</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'address'</</span>span><</span>span>, </</span>span><</span>span>$billingAddress</</span>span><</span>span>-></</span>span><</span>span>getStreet</</span>span><</span>span>())</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'zip'</</span>span><</span>span>, </</span>span><</span>span>$billingAddress</</span>span><</span>span>-></</span>span><</span>span>getPostcode</</span>span><</span>span>())</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'city'</</span>span><</span>span>, </</span>span><</span>span>$billingAddress</</span>span><</span>span>-></</span>span><</span>span>getCity</</span>span><</span>span>())</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'new_attribute7'</</span>span><</span>span>, </</span>span><</span>span>new </</span>span><</span>span>Value([</</span>span><</span>span>0</</span>span><</span>span>]))</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'phone'</</span>span><</span>span>, </</span>span><</span>span>$customer</</span>span><</span>span>-></</span>span><</span>span>getPhone</</span>span><</span>span>())</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>setField</</span>span><</span>span>(</</span>span><</span>span>'fax'</</span>span><</span>span>, </</span>span><</span>span>$customer</</span>span><</span>span>-></</span>span><</span>span>getFax</</span>span><</span>span>())</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>login </</span>span><</span>span>= </</span>span><</span>span>$customer</</span>span><</span>span>-></</span>span><</span>span>getEmail</</span>span><</span>span>()</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>email </</span>span><</span>span>= </</span>span><</span>span>$customer</</span>span><</span>span>-></</span>span><</span>span>getEmail</</span>span><</span>span>()</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>password </</span>span><</span>span>= </</span>span><</span>span>$userData</</span>span><</span>span>[</</span>span><</span>span>'password'</</span>span><</span>span>]</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>$users </</span>span><</span>span>= </</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>get</</span>span><</span>span>(</</span>span><</span>span>'ezpublish.api.service.user'</</span>span><</span>span>)-></</span>span><</span>span>loadUsersByEmail</</span>span><</span>span>(</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>-></</span>span><</span>span>email</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>
</</span>span><</span>span>if </</span>span><</span>span>(!</</span>span><</span>span>empty</</span>span><</span>span>(</</span>span><</span>span>$users</</span>span><</span>span>)) {
</</span>span><</span>span>    </</span>span><</span>span>throw new </</span>span><</span>span>UserConflictException()</</span>span><</span>span>;
</</span>span><</span>span>}
</</span>span><</span>span>
</</span>span><</span>span>$userGroupId </</span>span><</span>span>= </</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>getConfigResolver</</span>span><</span>span>()-></</span>span><</span>span>getParameter</</span>span><</span>span>(</</span>span><</span>span>'user.user_group_content_id'</</span>span><</span>span>, </</span>span><</span>span>'ngmore'</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>$preUserRegisterEvent </</span>span><</span>span>= </</span>span><</span>span>new </</span>span><</span>span>UserEvents\PreRegisterEvent(</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>get</</span>span><</span>span>(</</span>span><</span>span>'event_dispatcher'</</span>span><</span>span>)-></</span>span><</span>span>dispatch</</span>span><</span>span>(MVCEvents::</</span>span><</span>span>USER_PRE_REGISTER</</span>span><</span>span>, </</span>span><</span>span>$preUserRegisterEvent</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>$userCreateStruct </</span>span><</span>span>= </</span>span><</span>span>$preUserRegisterEvent</</span>span><</span>span>-></</span>span><</span>span>getUserCreateStruct</</span>span><</span>span>()</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>/** @var \eZ\Publish\API\Repository\Values\User\User $newUser */
</</span>span><</span>span>$newUser </</span>span><</span>span>= </</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>getRepository</</span>span><</span>span>()-></</span>span><</span>span>sudo</</span>span><</span>span>(
</</span>span><</span>span>    </</span>span><</span>span>function </</span>span><</span>span>(Repository </</span>span><</span>span>$repository</</span>span><</span>span>) </</span>span><</span>span>use </</span>span><</span>span>(</</span>span><</span>span>$userCreateStruct</</span>span><</span>span>, </</span>span><</span>span>$userGroupId</</span>span><</span>span>) {
</</span>span><</span>span>        </</span>span><</span>span>$userGroup </</span>span><</span>span>= </</span>span><</span>span>$repository</</span>span><</span>span>-></</span>span><</span>span>getUserService</</span>span><</span>span>()-></</span>span><</span>span>loadUserGroup</</span>span><</span>span>(</</span>span><</span>span>$userGroupId</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>        </</span>span><</span>span>return </</span>span><</span>span>$repository</</span>span><</span>span>-></</span>span><</span>span>getUserService</</span>span><</span>span>()-></</span>span><</span>span>createUser</</span>span><</span>span>(
</</span>span><</span>span>            </</span>span><</span>span>$userCreateStruct</</span>span><</span>span>,
</</span>span><</span>span>            </</span>span><</span>span>array</</span>span><</span>span>(</</span>span><</span>span>$userGroup</</span>span><</span>span>)
</</span>span><</span>span>        )</</span>span><</span>span>;
</</span>span><</span>span>    </</span>span><</span>span>}
</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>
</</span>span><</span>span>$userRegisterEvent </</span>span><</span>span>= </</span>span><</span>span>new </</span>span><</span>span>UserEvents\PostRegisterEvent(</</span>span><</span>span>$newUser</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>get</</span>span><</span>span>(</</span>span><</span>span>'event_dispatcher'</</span>span><</span>span>)-></</span>span><</span>span>dispatch</</span>span><</span>span>(MVCEvents::</</span>span><</span>span>USER_POST_REGISTER</</span>span><</span>span>, </</span>span><</span>span>$userRegisterEvent</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>
</</span>span><</span>span>$symfonyUser </</span>span><</span>span>= </</span>span><</span>span>$this
</</span>span><</span>span>    </</span>span><</span>span>-></</span>span><</span>span>get</</span>span><</span>span>(</</span>span><</span>span>'ezpublish.security.user_provider'</</span>span><</span>span>)
</</span>span><</span>span>    -></</span>span><</span>span>loadUserByAPIUser</</span>span><</span>span>(</</span>span><</span>span>$newUser</</span>span><</span>span>)</</span>span><</span>span>;</</span>span>
<</span>span>$token </</span>span><</span>span>= </</span>span><</span>span>new </</span>span><</span>span>UsernamePasswordToken(
</</span>span><</span>span>    </</span>span><</span>span>$symfonyUser</</span>span><</span>span>,
</</span>span><</span>span>    </</span>span><</span>span>$password</</span>span><</span>span>,
</</span>span><</span>span>    </</span>span><</span>span>"ezpublish.security.user_provider"</</span>span><</span>span>,
</</span>span><</span>span>    </</span>span><</span>span>$symfonyUser</</span>span><</span>span>-></</span>span><</span>span>getRoles</</span>span><</span>span>()
</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>
</</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>get</</span>span><</span>span>(</</span>span><</span>span>"security.token_storage"</</span>span><</span>span>)-></</span>span><</span>span>setToken</</span>span><</span>span>(</</span>span><</span>span>$token</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>$event </</span>span><</span>span>= </</span>span><</span>span>new </</span>span><</span>span>InteractiveLoginEvent(</</span>span><</span>span>$request</</span>span><</span>span>, </</span>span><</span>span>$token</</span>span><</span>span>)</</span>span><</span>span>;
</</span>span><</span>span>$this</</span>span><</span>span>-></</span>span><</span>span>get</</span>span><</span>span>(</</span>span><</span>span>"event_dispatcher"</</span>span><</span>span>)-></</span>span><</span>span>dispatch</</span>span><</span>span>(</</span>span><</span>span>"security.interactive_login"</</span>span><</span>span>, </</span>span><</span>span>$event</</span>span><</span>span>)</</span>span><</span>span>;</</span>span>

25 Jul 2017 1:57pm GMT

21 Jul 2017

feedeZ News

The Week in Review: eZ Conference 2018, 0Auth on eZ Sites and More

News

Save the Date: eZ Conference 2018 - Cologne, June 5-7

We're thrilled to announce the location and date for eZ Conference 2018: Cologne, Germany - June 5-7, 2018.

eZ Conference is our content technology summit and the largest gathering of the eZ community worldwide, bringing together experts in CMS, and professionals in digital strategy, marketing and engineering to share, learn and network.

Missed eZ Conference 2017 in London? Watch our video recap included in the announcement. Take out your calendar and mark these dates, we hope to see you there next year!

Symfony CVE-2017-11365: Empty passwords validation issue

An important security advisory was published on the Symfony Blog this week. The security issue was introduced while fixing two other previous issues. "After the fix, validating a user password with a UserPassword constraint but with no NotBlank constraint would pass without any error as previously."

Read the blog post to check affected Symfony versions, and also the resolution which includes a patch.

Performance updates.ez.no

For those who have had problems accessing https://updates.ez.no/ since Thursday of last week: It is now, as far as we can tell, working 100% again. The problem was with the cloud hosting provider, where a network problem meant that roughly 50% of requests would fail. It took a bit longer to fix than expected, as we were spending most research on our own code, not really suspecting the provider.

We had some good help from the community in our Slack channels, testing performance while troubleshooting-thank you for this.

In other news:

Resources

Integrating OAuth on eZ sites

Why ask your visitors to create yet another account when you can use 0Auth on eZ sites? Netgen provides a solution with a bundle based on HWIOAuthBundle.

Read the Netgen blog about the NetgenEzSocialConnectBundle with information about features, installation and configuration examples.

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

Social media

#eZPlatform - Full stack #symfony #cms in #Vienna at the @ViennaPHP by @davidcanhelp #php pic.twitter.com/L0itEEuG6D

- eZ Systems DE (@eZSystemsDE) July 20, 2017

Good stuff cooking in #ezplatform Site API kitchen: https://t.co/G219fVDl4G - @periklo was bored over the weekend :) #ezcommunity

- Ivo Luka─Ź (@ilukac) July 19, 2017

What are the latest #headless CMS trends? https://t.co/PtvEbNwlfK #contentmanagement #CMS

- eZ Systems (@eZSystems) July 19, 2017

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

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: guerrera, CC)

21 Jul 2017 5:36pm GMT

20 Jul 2017

feedeZ News

Save the Date: eZ Conference 2018 Cologne, June 5-7

Save the Date: eZ Conference 2018 - Cologne, June 5-7

eZ Conference is our content technology summit and the largest gathering of the eZ community worldwide, bringing together experts in CMS, and professionals in digital strategy, marketing and engineering to share, learn and network.

eZ Conference 2016 in Paris and 2017 in London had a line up of great speakers such as keynotes from Paul Boag and Gerry McGovern, and talks from members of the eZ community sharing successful and inspiring projects on eZ Platform and eZ Publish. eZ Conference is a pre-conference training day followed by two days packed with networking, an Awards party, happy hours, presentations, and best of all, getting to meet new and old members of the eZ ecosystem.

If you're a newbie to the eZ community or if you're an established member, we'd love to see you in Cologne next year for another edition of eZ Conference-so save the date!

What you can expect

More details on conference venue, eZ Awards nominations and developer hackathon coming in the next few months. Also stay tuned for our call for speakers and sponsors soon.

Check out tweets and pictures from eZ Conference 2017 in London.

Missed eZ Conference 2017 in London? Watch our video recap.

Missed eZ Conference 2016 in Paris? Watch our video recap.

20 Jul 2017 4:04pm GMT

17 Jul 2017

feedeZ News

Web Accessibility - Are You Shutting Out Visitors with Disabilities?

That's why when digital agency-and eZ partner-Mugo Web approached us to do a joint webinar on the topic, we quickly agreed. Besides accessibility being an area where not many of us have a full grasp, web accessibility guidelines for the EU and US have been established for a few years now and laws are expected to take effect for some companies in the US as soon as 2018.

What makes a website accessible?

Accessible websites allow visitors with impaired vision and hearing, physical disabilities, and cognitive disabilities to experience your site the way you intended it to be experienced. That could mean they're able to read text on coloured backgrounds, select links without a mouse, or navigate the site effectively with a screen reader. It may also mean that they can read video captions if they're unable to hear the audio, or that they are able to understand how to fill out a form or follow instructional content.

Accessible websites allow visitors with disabilities to effectively accomplish their goals on your site, which ultimately means more satisfied customers, clients, readers, subscribers, or fans for your business or organization.

If you missed our webinar last week, you can still listen to the recording below and pick up on pro strategies from our presenter, Mugo's expert web developer Dave Fearnley. In his presentation, Dave addressed the following topics (be sure to listen to the Q&A at the very end as well):


Mugo also compiled the accessibility information from last week's webinar plus a lot more into a comprehensive ebook entitled All-inclusive: A beginner's guide to the art and science of website accessibility. It's a tactical handbook on the why and how of accessible web development. Be sure to download it!

To get started on your web accessibility strategy, reach out to the Mugo team by calling +1 604-637-6396 or at hi@mugo.ca.

17 Jul 2017 8:01pm 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