{"id":615,"date":"2011-02-21T07:45:15","date_gmt":"2011-02-21T05:45:15","guid":{"rendered":"https:\/\/www.almtoolbox.com\/blog\/?p=615"},"modified":"2012-08-05T20:50:39","modified_gmt":"2012-08-05T18:50:39","slug":"using-clearcase-for-agile-cm","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/","title":{"rendered":"Using ClearCase for Agile CM"},"content":{"rendered":"<p>I am honored to present our guest blogger, Bob Aiello. Bob, author of the top-selling book,\u00a0<span style=\"text-decoration: underline;\"><strong>CM Best Practices: Practical Methods that Work in the Real World<\/strong>,<\/span> (2010, Addison Wesley) is\u00a0a well-respected industry expert on all matters CM. We share his passion for excellence in customizing CM implementations and welcome him to our forum:<\/p>\n<p>Agile software development has taken the industry by storm with its focus on Individuals and interactions over processes and tools. But tools still matter and Agile developers typically use lightweight (low ceremony) processes to support rapid iterative development. Agile has enjoyed widespread and celebrated success. In configuration management, we see many technology professionals choosing lightweight open source solutions to complement their lean Agile development methodology. In my own \u201ctools and process agnostic\u201d CM\/ALM consulting practice, I see some companies converting from commercial software configuration management systems to open source version control tools. But does this mean that you have to drop your powerful code management solution in order to be Agile? I think not and this article explains how to do Agile CM with IBM Rational ClearCase which, in many sectors, has been the backbone of automated source code management solutions for a very long time.<\/p>\n<p>I have worked with ClearCase since version 2.1 (it\u2019s now on 7.1) and watched the product as well as the entire discipline of CM mature over the last 20 years.\u00a0 ClearCase is an ideal platform for Agile development as it includes capabilities not often seen in open source version control systems. ClearCase can efficiently support continuous integration,\u00a0 baselined releases, multiple variants, traceability, secure repositories and extreme scalability. I will explain how to implement these potent capabilities and why they are valuable in your efforts to support Agile in this and future blog posts.<\/p>\n<p><strong>Support for Continuous Integration<\/strong><\/p>\n<p>Martin Fowler has done an amazing job of evangelizing Continuous Integration with explanations such as, \u201cContinuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily &#8211; leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible\u201d (<a href=\"http:\/\/bit.ly\/hzf8iN\">http:\/\/bit.ly\/hzf8iN<\/a>). Developers can iteratively rebase their workspaces (pulling in the latest changes from others) before delivering their changes back to the stream \u2013 automatically triggering a CI build.<\/p>\n<p><strong>Baselined Releases<\/strong><\/p>\n<p>Releases can be baselined by ClearCase version labels which may be secured by having the Version Labels independently \u201cowned\u201d. (This means that you cannot move the Label once it has been applied.) Baselines can be used to independently build the release which is a requirement in many compliance situations. I have personally trained corporate auditors to direct developers to demonstrate that their releases can be retrieved and built based upon a baselined release (persisted by a locked version label). Immutable (and secure) baselines are fundamental to CM Best Practices and creating a traceable variant from a baselined release is also essential. In fact, these practices give you a competitive edge and help boost both your productivity and the quality of your applications.<\/p>\n<p><strong>Variant Management<\/strong><\/p>\n<p>ClearCase supports branches (and UCM streams) which can be used to manage multiple variants in the code. This is a very useful feature when customers want customizations (requiring support for multiple variants of the codebase). ClearCase&#8217;s branching is based upon a delta of only the files that actually changed as opposed to some open source tools which use copybranches, making it more difficult to quickly see which files changed on the branch. ClearCase&#8217;s variant management makes it much easier to be customer centric and responsive to individual requirements. This is a core requirement for Agile CM.<\/p>\n<p><strong>Visibility<\/strong><\/p>\n<p>Many source code management systems track and store a considerable amount of metadata that provides valuable information about \u201cwhat\u201d changed, \u201cwhen\u201d it changed and \u201cwho\u201d changed it. While this information may be buried deep in the repository, it can be very difficult to access this information and understand it in an intelligent way. Sometimes, you can access the metadata, but there is just too much information being provided in an unorganized way and trying to understand what it all means can be a very difficult task indeed. This problem can adversely impact your ability to provide good traceability which, for many, is a regulatory requirement.<\/p>\n<p><strong>Traceability<\/strong><\/p>\n<p>Many open source version control tools lack good traceability to ascertain exactly what has changed. This is especially important when code is branched and later merged. ClearCase allows you to see exactly what has changed on a branch and more importantly the results of a merge \u2013 including the contributors and resulting merged code.<\/p>\n<p><strong>Scalability<\/strong><\/p>\n<p>I have trained and supported over 800 developers using ClearCase worldwide with over 1500 ClearCase repositories.\u00a0\u00a0\u00a0 The advanced features of ClearCase do require some training, but are well worth the investment. ClearCase can scale to support an enterprise software development effort.<\/p>\n<p><strong>Repository Security<\/strong><\/p>\n<p>ClearCase repositories have a number of essential tools that can be used to maintain and ensure the security and integrity of the repository. I always run \u201ccheckvob\u201d on all my vobs on a nightly basis. Occasionally, we spotted problems (e.g. CIFS configuration issue) that were mostly at the operating systems level and completely independent of any\u00a0 source code management repository. The important thing was that we were able to detect and repair any repository issues immediately (before we had overwritten the backup tapes).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>These are some of the basic things that you need to consider when supporting Agile development. I have utilized ClearCase in many different environments and believe that it is an excellent platform to support your Agile CM.\u00a0 <a href=\"https:\/\/www.almtoolbox.com\/rnd\" target=\"_blank\">R&amp;D Reporter,<\/a> a ClearCase add-on, provides better traceability for ClearCase UCM and makes ClearCase much easier to use. The GoMidjets product line greatly facilitates using ClearCase for Agile CM and I am pleased to partner with the GoMidjets team in supporting these products in the United States!<\/p>\n<p><a href=\"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: top; padding-right: 50px;\" title=\"CompBL: Changes by streams, baselines and changet-sets\" src=\"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg\" alt=\"Area chart for ClearCase streams and change-sets\" width=\"204\" height=\"157\" \/><\/a><a href=\"https:\/\/www.almtoolbox.com\/download\/images\/compbl_25_table_report.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" style=\"vertical-align: top;\" title=\"Status report for ClearCase UCM projects\" src=\"https:\/\/www.almtoolbox.com\/download\/images\/compbl_25_table_report.png\" alt=\"Status report for ClearCase UCM projects\" width=\"263\" height=\"157\" \/><\/a><\/p>\n<p>R&amp;D Reporter: Area Chart (click to enlarge) \u00a0 \u00a0 \u00a0 R&amp;D Reporter: Detailed Report (click to enlarge)<\/p>\n<p>In my next blog post I will discuss implementing Agile ALM with ClearCase including support for toolchains.\u00a0 Please contact me to discuss your own best practices and existing challenges with using ClearCase for Agile (and non-Agile) software development.<\/p>\n<p>Bob Aiello<br \/>\n<a href=\"http:\/\/www.linkedin.com\/in\/BobAiello\">http:\/\/www.linkedin.com\/in\/BobAiello<\/a><br \/>\n<a href=\"http:\/\/cmbestpractices.com\/\">http:\/\/cmbestpractices.com<\/a><br \/>\nTwitter: bobaiello, cmbestpractices<br \/>\n<a href=\"mailto:bob.aiello@ieee.org\" target=\"_blank\">bob.aiello@ieee.org<\/a><\/p>\n<p><strong>Related topic: <\/strong><a href=\"https:\/\/www.almtoolbox.com\/blog\/?p=607\" target=\"_blank\">A webinar: Agile CM, Continuous Integration, ClearCase and R&amp;D Reporter<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am honored to present our guest blogger, Bob Aiello. Bob, author of the top-selling book,\u00a0CM Best Practices: Practical Methods that Work in the Real World, (2010, Addison Wesley) is\u00a0a well-respected industry expert on all matters CM. We share his passion for excellence in customizing CM implementations and welcome him to our forum: Agile software [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,38,4,8,46,61,17],"tags":[],"class_list":["post-615","post","type-post","status-publish","format-standard","hentry","category-agile","category-best-practices","category-clearcase","category-compbl","category-continuous-integration","category-rd-reporter","category-ucm"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using ClearCase for Agile CM - ALMtoolbox News<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using ClearCase for Agile CM - ALMtoolbox News\" \/>\n<meta property=\"og:description\" content=\"I am honored to present our guest blogger, Bob Aiello. Bob, author of the top-selling book,\u00a0CM Best Practices: Practical Methods that Work in the Real World, (2010, Addison Wesley) is\u00a0a well-respected industry expert on all matters CM. We share his passion for excellence in customizing CM implementations and welcome him to our forum: Agile software [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/\" \/>\n<meta property=\"og:site_name\" content=\"ALMtoolbox News\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/almtoolbox.israel\/\" \/>\n<meta property=\"article:published_time\" content=\"2011-02-21T05:45:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-08-05T18:50:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg\" \/>\n<meta name=\"author\" content=\"Tamir Gefen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Dikla\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tamir Gefen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/\"},\"author\":{\"name\":\"Tamir Gefen\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63\"},\"headline\":\"Using ClearCase for Agile CM\",\"datePublished\":\"2011-02-21T05:45:15+00:00\",\"dateModified\":\"2012-08-05T18:50:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/\"},\"wordCount\":1081,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg\",\"articleSection\":[\"Agile\",\"Best practices\",\"ClearCase\",\"CompBL\",\"Continuous Integration\",\"R&amp;D Reporter\",\"UCM\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/\",\"url\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/\",\"name\":\"Using ClearCase for Agile CM - ALMtoolbox News\",\"isPartOf\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg\",\"datePublished\":\"2011-02-21T05:45:15+00:00\",\"dateModified\":\"2012-08-05T18:50:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#primaryimage\",\"url\":\"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg\",\"contentUrl\":\"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.almtoolbox.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using ClearCase for Agile CM\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#website\",\"url\":\"https:\/\/www.almtoolbox.com\/blog\/\",\"name\":\"ALMtoolbox News\",\"description\":\"All the news of ALMtoolbox\",\"publisher\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.almtoolbox.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#organization\",\"name\":\"ALMtoolbox\",\"url\":\"https:\/\/www.almtoolbox.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png\",\"contentUrl\":\"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png\",\"width\":410,\"height\":190,\"caption\":\"ALMtoolbox\"},\"image\":{\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/almtoolbox.israel\/\",\"https:\/\/www.linkedin.com\/company\/almtoolbox\/\",\"https:\/\/www.youtube.com\/user\/GoMidjets\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63\",\"name\":\"Tamir Gefen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g\",\"caption\":\"Tamir Gefen\"},\"sameAs\":[\"https:\/\/x.com\/Dikla\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using ClearCase for Agile CM - ALMtoolbox News","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/","og_locale":"en_US","og_type":"article","og_title":"Using ClearCase for Agile CM - ALMtoolbox News","og_description":"I am honored to present our guest blogger, Bob Aiello. Bob, author of the top-selling book,\u00a0CM Best Practices: Practical Methods that Work in the Real World, (2010, Addison Wesley) is\u00a0a well-respected industry expert on all matters CM. We share his passion for excellence in customizing CM implementations and welcome him to our forum: Agile software [&hellip;]","og_url":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/","og_site_name":"ALMtoolbox News","article_publisher":"https:\/\/www.facebook.com\/almtoolbox.israel\/","article_published_time":"2011-02-21T05:45:15+00:00","article_modified_time":"2012-08-05T18:50:39+00:00","og_image":[{"url":"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg","type":"","width":"","height":""}],"author":"Tamir Gefen","twitter_card":"summary_large_image","twitter_creator":"@Dikla","twitter_misc":{"Written by":"Tamir Gefen","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#article","isPartOf":{"@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/"},"author":{"name":"Tamir Gefen","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63"},"headline":"Using ClearCase for Agile CM","datePublished":"2011-02-21T05:45:15+00:00","dateModified":"2012-08-05T18:50:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/"},"wordCount":1081,"commentCount":0,"publisher":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#primaryimage"},"thumbnailUrl":"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg","articleSection":["Agile","Best practices","ClearCase","CompBL","Continuous Integration","R&amp;D Reporter","UCM"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/","url":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/","name":"Using ClearCase for Agile CM - ALMtoolbox News","isPartOf":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#primaryimage"},"image":{"@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#primaryimage"},"thumbnailUrl":"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg","datePublished":"2011-02-21T05:45:15+00:00","dateModified":"2012-08-05T18:50:39+00:00","breadcrumb":{"@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#primaryimage","url":"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg","contentUrl":"https:\/\/www.almtoolbox.com\/download\/images\/changes_by_streams.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.almtoolbox.com\/blog\/using-clearcase-for-agile-cm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.almtoolbox.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Using ClearCase for Agile CM"}]},{"@type":"WebSite","@id":"https:\/\/www.almtoolbox.com\/blog\/#website","url":"https:\/\/www.almtoolbox.com\/blog\/","name":"ALMtoolbox News","description":"All the news of ALMtoolbox","publisher":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.almtoolbox.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.almtoolbox.com\/blog\/#organization","name":"ALMtoolbox","url":"https:\/\/www.almtoolbox.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png","contentUrl":"https:\/\/www.almtoolbox.com\/blog\/wp-content\/uploads\/\/2015\/10\/logo.png","width":410,"height":190,"caption":"ALMtoolbox"},"image":{"@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/almtoolbox.israel\/","https:\/\/www.linkedin.com\/company\/almtoolbox\/","https:\/\/www.youtube.com\/user\/GoMidjets"]},{"@type":"Person","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/409e35aa3486f92208065230bb6ebb63","name":"Tamir Gefen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.almtoolbox.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3d4df00aa386b2805c42441dfebcedd46abf25846febb352f00c11524d994c4?s=96&d=mm&r=g","caption":"Tamir Gefen"},"sameAs":["https:\/\/x.com\/Dikla"]}]}},"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/comments?post=615"}],"version-history":[{"count":18,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/615\/revisions"}],"predecessor-version":[{"id":621,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/posts\/615\/revisions\/621"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/media?parent=615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/categories?post=615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog\/wp-json\/wp\/v2\/tags?post=615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}