Robin Mastromarino UI/UX designer and HETIC student based in Paris.
by csreladm via CSSREEL | CSS Website Awards | World best websites | website design awards | CSS Gallery
"Mr Branding" is a blog based on RSS for everything related to website branding and website design, it collects its posts from many sites in order to facilitate the updating to the latest technology.
To suggest any source, please contact me: Taha.baba@consultant.com
Robin Mastromarino UI/UX designer and HETIC student based in Paris.
Animating SVGs combined with hand drawn illustrations and clean design.
We’ve created architecture and design for corporate website of VTB Bank. One of the hardest parts of this project was development of the structure of the project – taken in count amount of information that needed to be presented.
Brueli is a fully responsive One & Multi page template designed and develop with a minimal design for Portfolio, Agencies, Freelancers and Architects. This HTML5 template is perfect for building an awesome website within minutes.
In the previous article of this series we’ve started our dive into the Entity Validation and Typed Data APIs. We’ve seen how DataType
plugins interact with data definitions and how various constraints can be added to the latter at multiple levels and extension points.
In this part, we will cover the aspect of actual validation and violation handling. In addition, we will write our own constraint and validator so that we can use custom behaviors in the data validation process.
Even though we don’t yet know exactly how constraints are built, we’ve seen how they can be added to Typed Data definitions, including entity fields. Let us now see how we can validate the entities and handle possible violations we find.
When talking about Typed Data we’ve already seen how the validate()
method can be called on the DataType
plugin instance which holds a data definition. When it comes to entities, this can happen both at entity and field levels.
For instance, we can validate the entire entity using the validate()
method:
$entity->set('title', 'this is too long of a title');
$violations = $entity->validate();
In our previous article, we added the Length
constraint to Node titles to prevent title strings longer than 5 characters. If that is still in place and we run the code above, the validation should obviously fail. The $violations
object is now, however, an EntityConstraintViolationListInterface
instance which provides some helper methods for accessing violation data specific to Drupal content entities. It’s worth looking into that interface for all the helper methods available.
To get a list of Entity level violations we can use the getEntityViolations()
method but we can also loop through all of them. Once we have our individual ConstraintViolationInterface
instances, we can inspect them for what went wrong. For instance, we can get the error message with getMessage()
, the property path that failed with getPropertyPath()
and the invalid value with getInvalidValue()
, among other useful things.
When it comes to fields, the property path is in the following format: title.0.value
. This includes the field name, the key (delta) of the individual field item in the list and the actual property name. This represents the property path of our violation above.
Apart from calling validation on the entire entity (which may be superfluous at times), we can also do so directly on each field:
$entity->set('title', 'this is too long of a title');
$violations = $entity->get('title')->validate();
In this case, $violations
is again an instance of ConstraintViolationListInterface
and can be looped over to inspect each violation. This time, though, the property path changes to no longer include the field name: 0.value
.
Continue reading %Drupal 8 Entity Validation and Typed Data Demonstration%
“As a founder, what must you have to be successful?”
I’ve asked a lot of entrepreneurs this question—22, to be exact. And out of those 22 people, all but four answered:
“Salesmanship.”
At first, this answer surprised me. Wasn’t it more important to have a great idea, or a great team, or a great work ethic? But it started to make sense.
After all, entrepreneurs are constantly selling—they pitch investors, they pitch clients, they pitch potential employees, they pitch influencers and journalists, and so forth.
[author_more]
If you’re just starting out, and you’ve never sold before, check out these four strategies for learning how to sell.
Watching a great salesperson work is hugely informative: you'll get insight into their best practices, routines, responses to common questions and objections, and more.
But you shouldn't follow just one salesperson around. As a general rule, shadow one salesperson from every "segment" you'll be approaching.
For example, to learn how to sell to VCs, you should shadow a fellow startup founder. To learn how to sell to journalists, shadow a PR rep. To learn how to sell to your clients, shadow a salesperson in your industry.
You should call upon your network to get these opportunities. But let's say you don't know any PR reps or industry salespeople–in that case, I recommend finding relevant groups on MeetUp and leveraging the contacts you make there. For example, if you've founded a SaaS company, going to a meetup for SaaS entrepreneurs, salespeople, or enthusiasts would give you tons of potential connections.
Once you've identified some people you want to shadow, here's how to frame your request:
Hey name,
I hope you're doing well! I have a semi-unusual request for you: Could I follow you around for a day (or a half-day) while you work? You're an amazing job title, and I'd love to learn how you communicate with clients and leads, talk to investors, pitch to influencers, etc. Lunch on me.
I'd be happy to work with your schedule, but if you're too busy, absolutely no worries.
Thanks,
Your name
If you get a positive response, ask to shadow the person on a day where they've got a variety of tasks and meetings.
Here are a couple things I recommend watching for:
Once you notice an effective technique or strategy, you can incorporate it into your own sales methods.
Pablo Picasso allegedly said, "Learn the rules so you can break them like an artist."
And this maxim definitely holds true when it comes to selling. Once you've become a more experienced salesperson, you can go rogue.
But up until that point, establishing a sales process will give you consistency and direction—as well as a baseline for tracking your progress.
First, figure out how the typical sales process unfolds. This step will take a couple weeks, at minimum: You'll need to be getting out there and doing lots of outreach so you can gather first-hand data.
Maybe you find that the average customer requires three phone-calls and one face-to-face meeting before deciding to buy. Or that it's much easier to close deals with clients when you've given them a live demo. Or that rather than reaching out to the CEO of the company about your payroll software, you should contact their human resources decision.
Take what's most effective, and create a formal plan. This plan should have distinct stages; so, Stage 1 might be "Establish contact with manager of human resources," whereas Stage 2 could be, "Schedule product consultation."
While it's most important to set up a process for traditional selling, you'll also find it helpful to set up processes for pitching to VCs, the media, and anyone else you're informally selling to.
Continue reading %How First-Time Founders Can Develop Sales Skills%