Menu 

Alfresco SDK Development on MacAlfresco SDK Development on Mac

As a leading Alfresco partner, we receive a lot of questions on best practices for implementation and usage of the platform. This is another part of our series entitled Common Questions. In this installment, we look at a question we received about tips and tricks for speeding up Alfresco SDK development for those using a Mac. If you have any questions, feel free to contact us today.


 Question:

I use a Mac, do you have any tips or tricks to improve the speed of SDK development?

Answer:

If you are using the Alfresco SDK on a Mac, we hope you will experience some productivity improvements from the following tips:

1. Add your .local hostname to /etc/hosts

If you look in the default /etc/hosts file, you will find the following two standard lines:

It turns out, there is an issue with hostname resolution in Java on Macs. This can be worked around by adding your hostname entry to this file. In order to find you hostname, run the hostname command.

For example, when I run this command I get the following output:

Here is what mine looks like now after I updated it:

This improves startup for a vanilla SDK 2.2.0 project on my laptop from three minutes and 40 seconds to two minutes and 40 seconds.

2. Stop spotlight from scanning your SDK project

We have seen cases where having spotlight scanning our SDK projects causes excessive speed decreases during startup and runtime. Unlike the previous tip, this one is hard to provide concrete evidence for. Suffice it to say, performance is more consistent if you perform this action.

Open System Preferences, select the spotlight “app” and then the privacy tab. Click the + button near the bottom of the window and add your project directory. Because I have many SDK projects all under one parent directory, I exclude the parent so all of my SDK projects benefit from this trick.

3. When doing repo development turn of Share developer mode

If you are focusing on repository/platform development and don’t need Share to perform automatic reloading of configuration and other files—but you do use Share to test things out—edit share/src/test/resources/alfresco/web-extension/share-config-custom.xml

for SDK 2.2.0 and below or

src/test/resources/share/share-config-custom.xml

for SDK 3.0 and above. Change:

to

Initial page loads in Share will still be pretty slow as assets are cached. For me, being set to true meant most pages load in four to eight seconds. Changing the value to false means initial page loads are about the same, although some are faster. If I go back to a page that has already been cached, the page will often load in less than one second.

I hope this will be of value to those using Macs. If you have additional questions on this topic or something new, don’t hesitate to contact us.

BeeCon 2017 Insights

BeeCon 2017 InsightsChief Architect at Zia Consulting, Bindu Wavell, shares his BeeCon 2017 insights.

It’s been a few weeks since the culmination of this year’s event, but I’d like to share my personal BeeCon 2017 insights. BeeCon is an Alfresco community conference that was held in Zaragoza, Spain from April 25–28. This conference was conceived, planned, and delivered by and for the Alfresco community with the help of some great sponsors including Alfresco.

Both years, I’ve had the opportunity to take some vacation before and after the conference. As such, many folks have already summarized their experiences. Here are a handful:

On the first day there was a hackathon and training for folks who are new to Alfresco development. I was thrilled to get to take part in the hackathon again this year (last year the hackathon happened concurrently with the sessions making participation difficult to justify) which had a great turnout and was expertly facilitated by Axel Faust.

I was on a larger team with six other folks attempting to improve the Order of the Bee Support Tools add-on. Cesar Capillas from Zylk (one of my teammates) wrote up his experience:

This is a great project that got a lot of coverage throughout the conference. It is based off the original alfresco-support-tools project that is Enterprise-only and was recently merged into Alfresco Content Services 5.2. The Order of the Bee version works with Community as well as Enterprise and has already added a bunch of nice, new features, like some ability to manage share components and the ability to add and re-configure loggers—even ones that have not been declared in a log4j.properties file.

The smaller group of three folks I worked with during the hackathon added a log snapshotting feature to the log4j repository tool. You can set up logging exactly how you want, click the start button, and perform an action you want logging information for; optionally there is the ability to log lap numbers or even custom messages and when you click the stop button, a log file will be downloaded covering all log information between when each button was pressed.

The following two and a half days were packed with content on multiple tracks, so it was not possible to see all of the presentations that I was excited about. Fortunately most of the presentations are available from the schedule area on the BeeCon website. In addition, it looks like most, if not all, of the video recordings are linked from the same area now!

So while there are a bunch of presentations I didn’t see—though I’m looking forward to watching the videos—I want to call out a handful of sessions that I was able to attend and thought were particularly excellent.


It’s Time: Alfresco SDK 3.0

The Alfresco 3.0 SDK has been a long time coming. I think it’s fair to say that the awesome tooling we’ve ended up with would not have been possible without the dedication and effort of the presenter, Ole Hejlskov.

This version of the SDK has a ton to offer, I encourage you to review the deck or watch the presentation. For myself, I finally feel like the SDK has surpassed the work we presented in Tech Talk Live #69. This is extremely exciting for me and I can’t wait to get SDK 3.0 support wrapped up for the Alfresco Yeoman generator.


Making Proper Use of Transactional Metadata Queries

This was the first of two fantastic main track presentations by Axel Faust. In this first presentation, Axel covers a lot of information about transactional metadata query (DB backed queries) that is not available through Alfresco documentation or training. This is an area where I have a good amount of experience and there were three or four big “a-ha!” moments for me during this presentation.


Alfresco Best Practices

Luis Cabaceira came through yet again, with a gold mine of information on best practices. In addition to the presentation he pushed a huge post with a lot more detail to the community site. There is a ton of information here for anyone interested in technical aspects of running Alfresco.


10 Novel Ways to Use Alfresco

A great talk full of camels from Gethin James. If I’m being pedantic, there were only nine novel ways to use Alfresco. Having said that, some of these nine, like the fact that Alfresco has been shipping Apache Camel for example, warrant multiple novel ways to use Alfresco! I was particularly excited about the possibilities created by the demo of using Camel to send audit data to Apache Kafka.


The Art of the Cache

This was the second full presentation from Axel Faust, and was my favorite presentation from the whole conference. Anyone who has spent even the smallest amount of time participating with the Alfresco community over the last few years will be familiar with Axel and also will likely have a sense of how deeply he dives into things.

One of the low-level projects Axel has worked on is replacing/updating some of the caching implementation in Alfresco. Based on these efforts, Axel has amassed a huge amount of detailed information about Alfresco caches and specifically cache tuning. While this talk is primarily about repository tier caching, there is a little bit of information on caching in general and others such as SOLR caching that should be considered when optimizing Alfresco installations.


Lightning Talks

There were four full sessions of lightning talks this year. I find that these are always of great value so I went to all of them. Rather than paste links to every single presentation, following are links to videos for some that I particularly enjoyed. Having said that, I’d encourage you to check them all out!


And now, in addition to my BeeCon 2017 insights, it’s time for some shameless self promotion. I gave a talk on the last day about Supporting Alfresco Installations, the deck is here. This is a basic to intermediate talk with tips and tricks for both performing support and then escalating to Alfresco (for Enterprise) or JIRA (for Community). I was surprised and honored that so many of the community all-stars came to this talk given the more introductory nature of the material.

I’d like to send out a huge thanks to everyone who was involved in bringing this event together from the organizers, to the sponsors,  presenters, and folks who came for the truly engaging presentations and conversations. This is a fantastic event and I hope it continues like this for many years to come! If you have not had the great good luck to attend this conference, I hope you will find a way to attend next year.

 

Bindu Wavel, Senior Solutions Architect at Zia ConsultingBindu Wavell is the Chief Architect at Zia Consulting. He has been involved in enterprise system integration consulting for more than 24 years. At Zia, Bindu provides guidance and mentoring around enterprise content management architecture and design in addition to working hands-on with customers to deliver high value solutions. Bindu has been working on enterprise content management engagements for the past 10 years. Previously he worked at eConvergent and Aspect Communications focusing on customer relationship management systems. Bindu is passionate about tea and quite interested in hobby robotics and automation.

2017 IASA Annual Educational Conference and Business Show

2017 IASAThe 2017 IASA Annual Conference promises to be great—and we’re excited to be a part of it. If you are attending the event in Orlando, June 4–7, stop by and talk to Zia Consulting at booth #1233. You’ll learn about The Process is Right and play games for a chance at fabulous prizes!

Our extensive knowledge provides document automation solutions to insurance organizations worldwide—including life, property and casualty, and reinsurance. With Zia, you can modernize the way you interact with core systems, reduce costs to deliver operational excellence, increase customer satisfaction and retention, while addressing cyber security and compliance needs. Learn about how we helped our customer, Baldwin & Lyons migrate 10 million documents in just seven days and decreased processing times from 16 hours to 15 minutes in our case study.

Zia targets costly and complex document processing tasks seen in applications, underwriting, and claims to deliver a rapid ROI. We leverage intelligent classification and extraction, handwriting recognition, advanced workflow/BPM, content management, and enterprise integration to deliver immediate cost savings, enhanced customer service, and improved governance.

As the leading partner for Alfresco Content Services and Process Services, Ephesoft Intelligent Capture, and Captricity Handwriting Recognition, we bring guidance and industry-leading solutions for your specific needs. Our solutions integrate with the tools you use already, including core insurance management systems. We also automate the security and records management process to deliver enterprise governance.

To see how we can help your company streamline processes and positively impact your bottom line contact us today. If you have not yet registered for the 2017 IASA show, click here.

ECM Strategy for Lasting Change: Executing on the Top ThingsOh my gosh, this seems hard…executing on the top things.

This is the second article in a five-part series on technology strategy techniques that bring about lasting change. In case you missed it, read the introduction.

As you begin executing an ECM project, there are going to be hiccups and all out fires. Risks turn into issues, requiring mitigations, new decisions, and so on and so forth. You may start thinking, “What happened to our strategy?!” One of the most important things you need to do, in times of project stress, is remind your team to apply basics of your strategy throughout all phases of execution of the project. It’s very easy to be distracted or get off track due to delays, scope creep, and unexpected issues. However, what’s important is not what comes up (because things will come up!) but how you get through it. Remember all the work your team did in the previous stages—that success criteria and planning? Use it! Apply it! In every situation, weigh the next steps against the strategy that you originally set out for your success.

Validate your readiness to execute

Before you roll into implementation, stick to the framework to execute on project excellence. Are you prepared? If so, you have answers to all the key items from my last post—Why, Who, and How. A checklist for readiness looks like this:

  • Success criteria is agreed upon with stakeholders before the start of the project.
  • Collaborative working relationships are on the way to being established for all the assigned resources. The project owner (or sponsor) and the project manager are in sync and guiding the team.
  • The project is set into motion with an overarching review of the initial design and resulting plan with architects, IT support, and other key services teams and stakeholders (as needed). Discussions and whiteboarding sessions are held to build a set of designs for the project’s phases.  The outcome of this work includes the following types of items:
    • Design diagrams and documents
    • Solution infrastructure and scaling recommendations
    • Big picture view of project milestones
    • A backlog of user stories for the high-priority implementation items
    • Work breakdown of the first few sprints of work
    • Communication plan and meeting cadence determined
    • A list of out-of-scope areas for further discovery to be discussed in later phases

Strategy Desk Tip:
It’s critical to have a clear set of success criteria identified. However, do you know how you are performing against that criteria today? Set a baseline for the current system performance to ensure you can measure progress. The baseline could also point out gaps on how you will quantify your success criteria overall. You may find early on that you do not have a way to measure your end goal. Better to know this and account for it sooner rather than later!

A methodology for implementation

Once you’ve checked off the readiness items, adopt a methodology for making progress on your milestones. Each project and each team is different so there isn’t a single, foolproof methodology that works for everyone. The most important thing is to adopt one that works for your team’s style, get really good at it, and set a regular cadence for the project. A useful methodology includes these few key things:

  • Iterative development cycles to ensure traction and momentum.
  • Focus on scope management. The team identifies creep, weighs options against anything that threatens scope, and adjusts deliverables as required.
  • A clear set of guardrails for keeping the project on track such as regularly scheduled meetings (daily standup, weekly project status, monthly executive review).
  • Paths out of pitfalls including a project manager who is empowered with flexibility to deal with unforeseen circumstances and dedicated decision-makers who understand the plan and project success criteria when called upon.
  • Time for developers to execute but also participate in iteratively planning the next set of work breakdowns for upcoming sprints.
  • Time for QA resources to unit test and provide quick feedback while also developing end-to-end tests.
  • Regular communication with, and involvement of, key stakeholders.

The Zia methodology has been fine-tuned over the last 10 years to deliver industry-leading solutions. During the heavy lifting of implementation phases, we plan and run development sprints, each for a set period of time, during which specific work is to be completed and made ready for review and initial testing. The project owner and the development team agree upon the exact work to be accomplished during the sprint. The sprints are tied to a higher-level set of milestones to ensure cadence and velocity meets goals and expectations. Each sprint is completed in a specific set time (generally one to three weeks) with the following type of deliverables:

  • Business analysis documentation, feeding sprint planning, and development
  • Estimates and work breakdowns of user stories for each sprint
  • Delivery of working code
  • Sprint demo to core team and key stakeholders
  • Technical walk-through and code reviews (where applicable across development resources)
  • Testing hand-off instructions and test script development
  • Assistance and education of stakeholders through simple cases for sprint acceptance testing
  • Strategy check! Are we building to the plan or getting off track? How are we doing against the larger milestones?
  • Beginning and continuing work on overarching project communication and developing a change management strategy
  • Rinse and repeat for each sprint cycle

Strategy Desk Tip:
During planning and design, you found out what motivates and provokes your stakeholders. As sprint demos start, you may need to reset stakeholder’s understanding of the success criteria. Make sure each sprint demo is carefully planned to show how it supports the objectives originally agreed upon. Stakeholder feedback should always be listened to and responded to promptly but also measured against the degree to which each stakeholder can influence the project. Regular discussions are appreciated and could soften the blow when you need to push back on scope creep and change requests.

Once the development cycles of each phase of the project are complete, time should be allocated for hardening and rollout. This step includes final UAT, bug fixing, and tuning. Typical deliverables are:

  • Hardened code and infrastructure for entire phase
  • Resolving priority 1 and 2 defects
  • Delivering subject matter expert training to prepare for final-user acceptance testing and user training
  • Performance benchmarking and tuning
  • Document phase solution architecture, key configurations, and customizations
  • Cutover, rollout, and go-live planning

Strategy Desk Tip: All-Ways Communication
No matter how well thought out the methodology, one of the most important parts of execution is an emphasis on great communication. Many times, individuals are highly accountable for their tasks—and great at executing—but fall short at actually talking to one another. Teams that break down reporting structures and thrive on openness and collaboration continually foster cross-team communication once the execution of the project begins. This means talking to one another, sharing and showing each other’s work, and having discussions up, down, and across reporting chains. This is what I call all-ways communication—communicating in all directions, all of the time!

Key Takeaways:

Check your readiness to execute:  Ensure that you can check off all the key items from your planning stage. Projects that execute well refer back to the basics when bumps in the road come along.

Follow a methodology: Research and adopt a methodology that works for your team. Some organizations have cultures where pure agile won’t work. In other cases, teams can be bored and frustrated with lack of progress while in waterfall timelines. Adapt a pure methodology or a hybrid one, but be consistent and communicate!

Communicate, communicate, communicate:  It may be painful at first for some team members, but fostering communication is arguably as important as doing the work breakdown. Remote teams need this even more and there are lots of tools you can use to help.

Next time we’ll discuss numbers…yes, it’s time to start measuring your success.

Zia Consulting to Sponsor Alfresco Day San Francisco

Alfresco Day San Francisco 2017In addition to an exhibitor table at Alfresco Day San Francisco, the 2016 Alfresco Partner of the Year will host a private wine tasting in support of the event.

Zia Consulting, Inc., the leading provider of Enterprise Content Management (ECM) and Intelligent Document Capture business solutions, will sponsor Alfresco Day San Francisco. The event will take place Wednesday, May 3, 2017 from 8:30a.m.–3:45p.m. at the Hotel Nikko.

Companies everywhere are facing enterprise content management (ECM) chaos with the rate of digital innovation significantly outpacing the capabilities of legacy ECM platforms—platforms built on twenty-year-old technology for twenty-year-old computing environments. These systems are being left behind as new content management needs are identified.

During this one-day event, attendees will hear about the biggest trends transforming ECM and how Alfresco executives, customers, and partners are leveraging the Alfresco platform to:

  • Regain control of critical business content
  • Strengthen compliance
  • Optimize processes
  • Gain a competitive edge

“At Alfresco Day in San Francisco, we expect that many of the attendees will currently use legacy technology and are likely seeking a digital transformation,” said Emily Long, Senior Director of Business Development at Zia Consulting. “Our vast experience in delivering modern content management solutions across insurance, mortgage, and other industries rapidly improves compliance, decreases processing time, and enhances customer service.”

Happy Hour–Alfresco Day San FranciscoThe Zia Consulting table will feature demos and case studies on how their automation solutions can decrease costs, increase profitability, and address records management. There will also be a private, invite-only happy hour the night before Alfresco Day. Contact sales(at)ziaconsulting(dot)com for more information. To learn more, or to register for Alfresco Day, click here.

###
Zia Consulting delivers Enterprise Content Management (ECM) solutions that address the content chaos needs of your enterprise to better manage and secure important documents. Our solutions are utilized by leading organizations and tackle the key issues of ECM user adoption, the need for lower total cost of ownership, and a desire for ECM modernization. We bring start-to-finish guidance and customization based on your organization’s needs, working closely with your team to enable you to be self-sufficient.