<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5418409606538989150</id><updated>2020-02-28T21:50:56.080-08:00</updated><category term="Tech"/><category term="Entrepreneur"/><category term="Google"/><category term="Startup"/><category term="Weekly"/><category term="chrome"/><category term="Acquisition"/><category term="Java"/><category term="Report"/><category term="Entrepreneurial"/><category term="Web App"/><category term="Facebook"/><category term="Idea"/><category term="Chrome Web Store"/><category term="Twitter"/><category term="REST"/><category term="Extention"/><category term="HTML5"/><category term="API"/><category term="Datastore"/><category term="Web"/><category term="WebService"/><category term="Database"/><category term="Experience"/><category term="Innovative"/><category term="JSON"/><category term="Job"/><category term="Management"/><category term="Marketing"/><category term="Product"/><category term="Social Network"/><category term="Time Management"/><category term="Analytics"/><category term="Cloud"/><category term="Deals"/><category term="LinkedIn"/><category term="NoSQL"/><category term="RESTFiddle"/><category term="Success"/><category term="iPad"/><category term="Advice"/><category term="Amazon"/><category term="Android"/><category term="Architecture"/><category term="Decision"/><category term="Development"/><category term="Discount"/><category term="Groupon"/><category term="Investment"/><category term="Javascript"/><category term="Network"/><category term="People Management"/><category term="Struts"/><category term="Website"/><category term="Advertise"/><category term="Angel Funding"/><category term="Apache"/><category term="Book"/><category term="Business"/><category term="CXF"/><category term="CrunchBase"/><category term="Donts"/><category term="Dos"/><category term="Eclipse"/><category term="Employee"/><category term="Employer"/><category term="Gaming"/><category term="Google App Engine"/><category term="Hard-work"/><category term="Internet"/><category term="JAX-WS"/><category term="Mobile"/><category term="Open Source"/><category term="Plans"/><category term="Seed Funding"/><category term="Task"/><category term="Venture Capital"/><category term="eBay"/><category term="iPhone"/><category term="xml"/><category term="API Builder"/><category term="Ajax"/><category term="Audio"/><category term="Axis"/><category term="Browser"/><category term="Business Partner"/><category term="Cloud Computing"/><category term="Commitment"/><category term="Core Java"/><category term="CoreJava"/><category term="Coupon"/><category term="Data Management"/><category term="DesignPattern"/><category term="Entity"/><category term="Example"/><category term="Firefox"/><category term="Friends"/><category term="Infrastructure as a Service"/><category term="KVM"/><category term="Leader"/><category term="LocalStorage"/><category term="Lucrative"/><category term="Manager"/><category term="Maven"/><category term="Media"/><category term="Mentor"/><category term="Mind"/><category term="Money"/><category term="Negotiation"/><category term="OOPS"/><category term="Offline Storage"/><category term="OpenStack"/><category term="PaaS"/><category term="Perception"/><category term="Process"/><category term="Productive"/><category term="Professional"/><category term="Project"/><category term="Qualities"/><category term="Quit Job"/><category term="Recognition"/><category term="Repetition"/><category term="Research"/><category term="Revenue"/><category term="SQL"/><category term="Services"/><category term="Spring"/><category term="TechCrunch"/><category term="ToDo"/><category term="Updates"/><category term="Useful"/><category term="Web Elements"/><category term="big data"/><category term="knowledge"/><category term="mongoDB"/><category term="motivation"/><category term="self-confidence"/><category term="Acceptance"/><category term="AngularJS"/><category term="Animation"/><category term="Appeal"/><category term="Applet"/><category term="Assembla"/><category term="Backbone"/><category term="Bigtable"/><category term="Blunder"/><category term="Bond"/><category term="Brand"/><category term="Business Plan"/><category term="CAP"/><category term="CSS"/><category term="Cashflow"/><category term="Challenge"/><category term="CityDeal"/><category term="ClearCase"/><category term="Code Review"/><category term="Collaboration"/><category term="Competitors"/><category term="Conference"/><category term="Connect"/><category term="Constructive"/><category term="Cookies"/><category term="Cron"/><category term="DOM"/><category term="Debug"/><category term="Degree"/><category term="Design Pattern"/><category term="Developer Tools"/><category term="Downloads"/><category term="Drag"/><category term="ESSEX"/><category term="Education"/><category term="Enterprise"/><category term="Environment"/><category term="Event"/><category term="Exposure"/><category term="Factory Design Pattern"/><category term="Feedback"/><category term="Focus"/><category term="Follow"/><category term="Frustration"/><category term="Fun"/><category term="GAE"/><category term="GQL"/><category term="Gears"/><category term="Github"/><category term="Glance"/><category term="Goal"/><category term="Google Calendar"/><category term="Google Code"/><category term="Google Code Search"/><category term="Google Font API"/><category term="Google Plus"/><category term="HBase"/><category term="HDMI"/><category term="Horizon"/><category term="Hyper-V"/><category term="Hypervisor"/><category term="IaaS"/><category term="Index"/><category term="Indian"/><category term="Industry"/><category term="JAXB"/><category term="JDO"/><category term="Keystone"/><category term="Linux"/><category term="Lucene"/><category term="Luke"/><category term="MBA"/><category term="Map"/><category term="Mapping"/><category term="Mark Zuckerburg"/><category term="Marketplace"/><category term="Memcache"/><category term="Mentee"/><category term="Mercurial"/><category term="Metro"/><category term="Mistake"/><category term="Movie"/><category term="NASA"/><category term="Nova"/><category term="OGNL"/><category term="Offline"/><category term="Oracle"/><category term="Overcome Frustration"/><category term="Platform as a Service"/><category term="Priority"/><category term="Python"/><category term="QEMU"/><category term="Quora"/><category term="RCA"/><category term="Rackspace"/><category term="Rate"/><category term="Remote"/><category term="Remuneration"/><category term="Repository"/><category term="Return on Investment"/><category term="Review"/><category term="Risk"/><category term="Role"/><category term="Ruby"/><category term="SWOT"/><category term="Sample"/><category term="Scala"/><category term="Scroll"/><category term="Search"/><category term="SessionStorage"/><category term="SoSasta"/><category term="Solr"/><category term="Spelling"/><category term="Strategy"/><category term="Subordinates"/><category term="Subversion"/><category term="Summary"/><category term="Sun"/><category term="Swift"/><category term="Task Manager"/><category term="Templates"/><category term="Thought"/><category term="Tomcat"/><category term="Trigger"/><category term="Trust"/><category term="Tutorial"/><category term="Tweet"/><category term="Tweets You Like"/><category term="Utilize"/><category term="Validate"/><category term="Version Control"/><category term="Video"/><category term="VirtualBox"/><category term="Virtualization"/><category term="Visitors"/><category term="Wall"/><category term="Web Storage"/><category term="Wiki"/><category term="XSD"/><category term="YUI"/><category term="apps"/><category term="cod"/><category term="cross platform"/><category term="font-face"/><category term="getElementsByClassName"/><category term="http"/><category term="kafka"/><category term="mashable"/><category term="onmousewheel"/><category term="onscroll"/><category term="onstorage"/><category term="parser"/><category term="performance"/><category term="phonegap"/><category term="rhomobile"/><category term="scale"/><category term="viracct"/><category term="wheelDelta"/><title type='text'>Research on Entrepreneurship, Startups and Ideas</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>167</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-3296271794855794837</id><published>2015-04-02T05:33:00.000-07:00</published><updated>2015-04-02T05:35:17.215-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="Architecture"/><category scheme="http://www.blogger.com/atom/ns#" term="Database"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><category scheme="http://www.blogger.com/atom/ns#" term="WebService"/><title type='text'>Design of Commenting System</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b id=&quot;docs-internal-guid-d606a22e-7a16-f7e7-0632-8b9b26604e23&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;/b&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-d606a22e-7a16-f7e7-0632-8b9b26604e23&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;This blog describes the design of commenting functionality in an application, through which clinicians can communicate and store notes/comments about a wound/ patient. This includes database design as well as REST API documentation for commenting feature.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;b id=&quot;docs-internal-guid-d606a22e-7a16-f7e7-0632-8b9b26604e23&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Database Design/ER diagram to store data related to comments:&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-lskXcWCAoTg/VR01b8AXudI/AAAAAAAAChc/x89VXTOU930/s1600/er_store_chat_messages.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-lskXcWCAoTg/VR01b8AXudI/AAAAAAAAChc/x89VXTOU930/s1600/er_store_chat_messages.png&quot; height=&quot;398&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b id=&quot;docs-internal-guid-d606a22e-7a19-8e5a-dbec-21e69bb1551a&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Tables Schemas&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;ul style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-d606a22e-7a19-8e5a-dbec-21e69bb1551a&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Wound Table: This table has data related to wound/patient. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Conversation Table: This table stores the comment thread for a wound.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Conversation_message Table: This table stores the individual comment in any comment&#39;s thread.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;User Table: This table contains information about the users who can access the system e.g. Doctor, nurse.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Conversation_has_user Table: This is a mapping table between conversation and user.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Notification Table: This table contains notifications for a user. Flag is_read is used to indicate whether a notification is read or unread.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/b&gt;&lt;/ul&gt;&lt;b id=&quot;docs-internal-guid-d606a22e-7a19-8e5a-dbec-21e69bb1551a&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Tagging of users in a comment:&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;This commenting application supports tagging/inviting users in a comment. We can store the message containing user_id in the following form:&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;some text {{user_id}} more text.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The application logic can resolve {{user_id}} and send notifications accordingly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Using Links in a comment:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Users can send YouTube links or search results in the comment.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;We can handle it in the same way we embed users in the message using expression language - {{youtube_link}} or {{search_link}}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;UI layer should have the logic to resolve these expressions and create a preview wherever possible.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;REST API Documentation&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;REST APIs provide access to resources (data entities) via URI paths using JSON as its communication format, and the standard HTTP methods.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;APIs for Comments&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GET /wounds/{wound_id}/comments&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Request&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;149&quot;&gt;&lt;/col&gt;&lt;col width=&quot;475&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Meaning&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; To get comments for a Wound&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;HTTP Method&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GET&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;URI&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/wounds/{wound_id}/comments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Path Params&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor; width: 624px;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Name&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Required&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Default&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Type&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;wound_id&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Y&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;151&quot;&gt;&lt;/col&gt;&lt;col width=&quot;473&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Status&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;200&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;application/json (list of comments)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;404&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{“error” : “Comment doesn’t exist.”}&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;POST /wounds/{wound_id}/comments&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Request&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;149&quot;&gt;&lt;/col&gt;&lt;col width=&quot;475&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Meaning&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; To post comment for a Wound&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;HTTP Method&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;POST&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;URI&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/wounds/{wound_id}/comments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Path Params&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor; width: 624px;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Name&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Required&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Default&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Type&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;wound_id&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Y&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Message Body&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“comment” : “message typed by the user”&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;151&quot;&gt;&lt;/col&gt;&lt;col width=&quot;473&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Status&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;200&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;application/json (comment posted successfully.)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;400&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{“error” : “Failed to post the comment.”}&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;PUT /wounds/{wound_id}/comments/{comment_id}&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Request&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;149&quot;&gt;&lt;/col&gt;&lt;col width=&quot;475&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Meaning&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; To edit/update comment for a Wound&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;HTTP Method&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;PUT&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;URI&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/wounds/{wound_id}/comments/{comment_id}&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Path Params&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor; width: 624px;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Name&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Required&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Default&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Type&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;wound_id&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Y&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;comment_id&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Y&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Message Body&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“comment” : “message typed by the user”&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;151&quot;&gt;&lt;/col&gt;&lt;col width=&quot;473&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Status&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;200&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;application/json (comment updated successfully.)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;400&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{“error” : “Failed to update the comment.”}&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;APIs for notifications&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GET /users/{user_id}/notifications&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Request&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;149&quot;&gt;&lt;/col&gt;&lt;col width=&quot;475&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Meaning&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; To get notifications for a user&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;HTTP Method&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GET&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;URI&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/users/{user_id}/notifications&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Path Params&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor; width: 624px;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Name&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Required&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Default&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Type&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;user_id&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Y&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;151&quot;&gt;&lt;/col&gt;&lt;col width=&quot;473&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Status&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;200&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;application/json (list of notifications for a user with each notification containing read/unread flag)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;404&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{“error” : “Notifications do not exist.”}&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;POST /users/{user_id}/notifications&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Request&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;149&quot;&gt;&lt;/col&gt;&lt;col width=&quot;475&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Meaning&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; To &amp;nbsp;create notification for a user.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 32px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;HTTP Method&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;POST&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;URI&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/users/{user_id}/notifications&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Path Params&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor; width: 624px;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Name&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Required&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Default&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Type&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;user_id&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Y&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;151&quot;&gt;&lt;/col&gt;&lt;col width=&quot;473&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Status&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;200&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;application/json (notification created successfully.)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;400&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{“error” : “Failed to create the notification.”}&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Note : Message containing user_id is stored in the following form: “some text {{user_id}} more text”. The application logic can resolve {{user_id}} and send notifications accordingly.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;PUT /users/{user_id}/notifications/{notification_id}&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Request&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;149&quot;&gt;&lt;/col&gt;&lt;col width=&quot;475&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Meaning&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; To mark a notification as read or unread.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;HTTP Method&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;PUT&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;URI&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/users/{user_id}/notifications/{notification_id}&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Path Params&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor; width: 624px;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Name&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Required&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Default&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Type&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;user_id&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Y&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;notification_id&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Y&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Message Body&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“is_read” : true&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: currentColor;&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;151&quot;&gt;&lt;/col&gt;&lt;col width=&quot;473&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Status&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Response&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;200&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;application/json (notification marked read successfully.)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;height: 0px;&quot;&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;400&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); padding: 7px; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;{“error” : “Failed to mark the notification as read.”}&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/3296271794855794837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2015/04/design-of-commenting-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/3296271794855794837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/3296271794855794837'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2015/04/design-of-commenting-system.html' title='Design of Commenting System'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-lskXcWCAoTg/VR01b8AXudI/AAAAAAAAChc/x89VXTOU930/s72-c/er_store_chat_messages.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-7665664327967261621</id><published>2015-01-14T21:31:00.004-08:00</published><updated>2015-01-14T21:33:32.488-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Downloads"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="RESTFiddle"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>[RESTFiddle] 100+ Weekly Downloads</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div&gt;We are proud to announce that RESTFiddle is having 100+ downloads per week.&amp;nbsp;&lt;/div&gt;&lt;div&gt;We are striving hard to give you better user experience and more functionality. We are about to release the next version of RESTFiddle. We would like to thank all the RESTFiddle enthusiasts to keep us motivated in improving this platform.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Stay tuned...&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/7665664327967261621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2015/01/restfiddle-100-weekly-downloads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/7665664327967261621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/7665664327967261621'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2015/01/restfiddle-100-weekly-downloads.html' title='[RESTFiddle] 100+ Weekly Downloads'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-2228084978284027714</id><published>2015-01-07T21:46:00.000-08:00</published><updated>2015-01-07T21:46:06.127-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="API Builder"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Datastore"/><category scheme="http://www.blogger.com/atom/ns#" term="Entity"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="RESTFiddle"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>Introducing API Builder</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&lt;i&gt;Create API with a click and run it on the fly.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;You can create an entity by clicking on&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;New Entity&lt;/strong&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&amp;nbsp;option in the second column. id, createdDate and lastModifiedDate are the fields created by the system.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-BnZy1KYVesw/VK4XY_hRhHI/AAAAAAAAAC4/xxZkV42J7-Q/s1600/apiBuilder_createEntity.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-BnZy1KYVesw/VK4XY_hRhHI/AAAAAAAAAC4/xxZkV42J7-Q/s1600/apiBuilder_createEntity.png&quot; height=&quot;308&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;Once the entity gets created, its services are generated and populated in the tree as shown:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-x2fpqUOlAlI/VK4Xmr7nHOI/AAAAAAAAADA/WKPs6Gg9UrM/s1600/apiBuilder_generatedAPI.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-x2fpqUOlAlI/VK4Xmr7nHOI/AAAAAAAAADA/WKPs6Gg9UrM/s1600/apiBuilder_generatedAPI.png&quot; height=&quot;308&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;Click on the&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;Create&lt;/strong&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&amp;nbsp;service to add new data of the entity.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-XgToovhqPbQ/VK4XpxLKGdI/AAAAAAAAADQ/BPbutZ4Zl5w/s1600/apiBuilder_createEntityData.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-XgToovhqPbQ/VK4XpxLKGdI/AAAAAAAAADQ/BPbutZ4Zl5w/s1600/apiBuilder_createEntityData.png&quot; height=&quot;308&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;You can fetch all the data created by running the&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;Get List&lt;/strong&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&amp;nbsp;service of the entity.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: &#39;Helvetica Neue&#39;, Helvetica, &#39;Segoe UI&#39;, Arial, freesans, sans-serif; font-size: 16px; line-height: 25.6000003814697px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-vRUw0lH4Bs8/VK4XoTUTpVI/AAAAAAAAADI/bYp8prHCgwc/s1600/apiBuilder_entityList.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-vRUw0lH4Bs8/VK4XoTUTpVI/AAAAAAAAADI/bYp8prHCgwc/s1600/apiBuilder_entityList.png&quot; height=&quot;308&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/2228084978284027714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2015/01/introducing-api-builder.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2228084978284027714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2228084978284027714'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2015/01/introducing-api-builder.html' title='Introducing API Builder'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-BnZy1KYVesw/VK4XY_hRhHI/AAAAAAAAAC4/xxZkV42J7-Q/s72-c/apiBuilder_createEntity.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-4299516007472466542</id><published>2015-01-05T22:06:00.002-08:00</published><updated>2015-01-05T22:07:18.113-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="API Builder"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Datastore"/><category scheme="http://www.blogger.com/atom/ns#" term="Entity"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="RESTFiddle"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>Creating a New Entity in RESTFiddle</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-sDyKqPqtr3o/VKt7DcjPG1I/AAAAAAAAGdE/oZzi9poJQWY/s1600/new_entity.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-sDyKqPqtr3o/VKt7DcjPG1I/AAAAAAAAGdE/oZzi9poJQWY/s1600/new_entity.png&quot; height=&quot;308&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b style=&quot;background-color: white; color: #333333; font-family: Verdana, Arial; font-size: small; line-height: 20.7999992370605px;&quot;&gt;For more details visit :&amp;nbsp;http://www.restfiddle.com/&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/4299516007472466542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2015/01/creating-new-entity-in-restfiddle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/4299516007472466542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/4299516007472466542'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2015/01/creating-new-entity-in-restfiddle.html' title='Creating a New Entity in RESTFiddle'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-sDyKqPqtr3o/VKt7DcjPG1I/AAAAAAAAGdE/oZzi9poJQWY/s72-c/new_entity.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-7261511321939654612</id><published>2015-01-02T20:38:00.001-08:00</published><updated>2015-01-03T19:28:34.548-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="RESTFiddle"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>WebSocket support in RESTFiddle</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-cMtOmhdCVuk/VKdxt4DtQbI/AAAAAAAAGc0/Y_zsZv8BPZY/s1600/web_socket.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-cMtOmhdCVuk/VKdxt4DtQbI/AAAAAAAAGc0/Y_zsZv8BPZY/s1600/web_socket.png&quot; height=&quot;308&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b style=&quot;background-color: white; color: #333333; font-family: Verdana, Arial; font-size: small; line-height: 20.7999992370605px;&quot;&gt;For more details visit :&amp;nbsp;http://www.restfiddle.com/&lt;/b&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/7261511321939654612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2015/01/websocket-support-in-restfiddle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/7261511321939654612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/7261511321939654612'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2015/01/websocket-support-in-restfiddle.html' title='WebSocket support in RESTFiddle'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-cMtOmhdCVuk/VKdxt4DtQbI/AAAAAAAAGc0/Y_zsZv8BPZY/s72-c/web_socket.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-1269544673228504159</id><published>2014-12-30T21:55:00.002-08:00</published><updated>2015-01-03T19:28:55.481-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="RESTFiddle"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>Swagger : Access RESTFiddle API documentation using Swagger UI.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-qaPTgW86erc/VKOPUlNEO4I/AAAAAAAAGck/mZ7HAf3-5V8/s1600/swagger_ui.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-qaPTgW86erc/VKOPUlNEO4I/AAAAAAAAGck/mZ7HAf3-5V8/s1600/swagger_ui.png&quot; height=&quot;307&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;For more details visit :&amp;nbsp;http://www.restfiddle.com/&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/1269544673228504159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2014/12/swagger-access-restfiddle-api.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/1269544673228504159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/1269544673228504159'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2014/12/swagger-access-restfiddle-api.html' title='Swagger : Access RESTFiddle API documentation using Swagger UI.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-qaPTgW86erc/VKOPUlNEO4I/AAAAAAAAGck/mZ7HAf3-5V8/s72-c/swagger_ui.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-5516081176180378758</id><published>2014-08-19T23:54:00.002-07:00</published><updated>2014-08-19T23:57:15.756-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Audio"/><category scheme="http://www.blogger.com/atom/ns#" term="HDMI"/><category scheme="http://www.blogger.com/atom/ns#" term="RCA"/><category scheme="http://www.blogger.com/atom/ns#" term="Video"/><title type='text'>Do Analog Input Devices Really Need  Replacement?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;I wanted to watch TED talks on my TV instead of laptop. The only way I knew was by downloading the youtube video, copying it in a USB drive and inserting that drive in USB/CD player. I was not ready to take the extra steps- time consuming and tedious! When I inquired about laptop to TV converter, most of the folks suggested me to change TV. &quot;No one uses CRT TV these days. Change your TV. New models can directly connect to laptop.&quot; Technology will keep evolving, so there must be some way out I assumed. Also the output ports of laptops keep changing every few years.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;I started on the mission to connect my laptop&#39;s HDMI port to TV&#39;s RCA input despite the fact that I&#39;m not a hardware person or a technician. When I searched on online stores I got HDMI to RCA cable. Happiness unlimited! Just when I was about to order the cable I thought of checking out what these input/output types are. Here is what wikipedia gave me-&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style=&quot;border-left: thick solid gray; margin-left: 10px; padding: 10px;&quot;&gt;&lt;span style=&quot;color: #444444; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;HDMI:&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #444444; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;HDMI (High-Definition Multimedia Interface) is a compact audio/video interface for transferring uncompressed video data and compressed or uncompressed digital audio data from an HDMI-compliant source device.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #444444; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;RCA:&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #444444; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;RCA plugs for composite analog video (yellow) and analog audio (white and red).&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;Logically speaking- how can a simple cable convert digital output into analog input? Clearly I needed a converter. I searched for converters in online stores and in shops. What I got was disappointment! I learnt about an electronics market at a distance. I went and started asking for converter. Finally one shopkeeper showed me a converter box. But there was no way to test it. None of those shops had laptops! Yes, they did have CRT TVs. This was what was written on the box:&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-koyL4y92574/U_RDRaumhwI/AAAAAAAACag/giWWt17-5x0/s1600/2014-08-20%2B10.06.05.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-koyL4y92574/U_RDRaumhwI/AAAAAAAACag/giWWt17-5x0/s1600/2014-08-20%2B10.06.05.jpg&quot; height=&quot;240&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;So I got a HDMI cable and a RCA cable to complete the setup....everything without guarantee, warranty and no-return policy! I was investing INR 1600 without testing. Risk.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;I returned home and completed the connection setup.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;  &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-TO2YGVAdu7M/U_REWzpsMCI/AAAAAAAACao/CgVn4UmZ7tA/s1600/2014-08-20%2B10.09.38.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-TO2YGVAdu7M/U_REWzpsMCI/AAAAAAAACao/CgVn4UmZ7tA/s1600/2014-08-20%2B10.09.38.jpg&quot; height=&quot;240&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;All I could see was multi-coloured strips on TV. Switching off the converter blanked out the TV screen- the only means which indicated that TV is taking the converter as its input. Couple of days passed by with no luck. Finally one morning I made the connections first and then started my laptop. Voila! Laptop screen was getting replicated on TV. However I could hear audio only from laptop. Tried with Mac. Again only video, no audio from TV.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;Again couple of days passed by. And I discovered Win + P shortcut for projecting. Choose &quot;Second screen only&quot;.....And there you hear audio from your television.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;Hoping to know Win + P magic for Mac, so that I can connect Mac to TV!!&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/5516081176180378758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2014/08/do-analog-input-devices-really-need.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/5516081176180378758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/5516081176180378758'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2014/08/do-analog-input-devices-really-need.html' title='Do Analog Input Devices Really Need  Replacement?'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-koyL4y92574/U_RDRaumhwI/AAAAAAAACag/giWWt17-5x0/s72-c/2014-08-20%2B10.06.05.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-3392886513234490719</id><published>2014-05-24T10:46:00.001-07:00</published><updated>2014-12-08T01:17:56.594-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>Top open source projects in Java</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;Here is what GitHub says (I am surprised&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;&amp;nbsp;to s&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;e Spring at #10):&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: Helvetica Neue, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 17.920000076293945px;&quot;&gt;https://github.com/search?l=Java&amp;amp;o=desc&amp;amp;q=stars%3A%3E0&amp;amp;ref=advsearch&amp;amp;s=&amp;amp;type=Repositories&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-ROEup_syQlc/U4DaMHuoSiI/AAAAAAAAGXU/SIHiH1JLrVA/s1600/github_java_top_open_source.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-ROEup_syQlc/U4DaMHuoSiI/AAAAAAAAGXU/SIHiH1JLrVA/s1600/github_java_top_open_source.png&quot; height=&quot;960&quot; title=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/3392886513234490719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2014/05/top-open-source-projects-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/3392886513234490719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/3392886513234490719'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2014/05/top-open-source-projects-in-java.html' title='Top open source projects in Java'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-ROEup_syQlc/U4DaMHuoSiI/AAAAAAAAGXU/SIHiH1JLrVA/s72-c/github_java_top_open_source.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-4721380123214788973</id><published>2014-05-09T04:42:00.000-07:00</published><updated>2014-05-09T04:42:21.770-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Entrepreneur"/><category scheme="http://www.blogger.com/atom/ns#" term="Entrepreneurial"/><title type='text'>Strategy Guide to Entering into Freelancing</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;I attended my engineering college&#39;s alumni meet last week. Many juniors approached me to know about what needs to be done to work as a freelancer, how to get projects and much more. Even students had these questions. So I&#39;m jotting down some important points to pitch into the competitive field of freelancing and excelling in it.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 1.2em; line-height: 1.2; margin: 4px 0px; padding: 0px;&quot;&gt;&lt;b style=&quot;margin: 0px; padding: 0px;&quot;&gt;Create a profile which is accessible on net&lt;/b&gt;&lt;/h2&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;LinkedIn is presently a widely professional networking site. Create a profile and keep it updated. The key features of portfolio should be- summary, experience (projects/paper presentations/technical competitions/conferences) and academic details. Recommendations and endorsements are added advantages.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 1.2em; line-height: 1.2; margin: 4px 0px; padding: 0px;&quot;&gt;Create a project/app- should be published on app engine or any of the web stores&amp;nbsp;&amp;nbsp;&lt;/h2&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;If one is interested in mobile applications development, develop and publish the app on respective store- Andriod or iOS. Similarly for web apps. Also publish the source code on github to showcase coding skills.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 1.2em; line-height: 1.2; margin: 4px 0px; padding: 0px;&quot;&gt;Register yourself on freelancing websites&lt;/h2&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;There are multiple websites where one can bid for projects. Some of them are Elance or Freelancer.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;Add summary of the points listed and worked upon in the profile. One needs to keep an eye on which projects he is interested or well-versed at. Look for suitable project and apply.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 1.2em; line-height: 1.2; margin: 4px 0px; padding: 0px;&quot;&gt;Participate in networking activities&lt;/h2&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;Groups conduct regular meetups. Attending those meetups will help to build social network. Folks belonging to either side of need attend them- those who have projects and want to outsource and the ones who want to get projects to work upon. Try for getting projects from people within network.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 1.2em; line-height: 1.2; margin: 4px 0px; padding: 0px;&quot;&gt;Participate in design/development/data sciences contests&lt;/h2&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;Various competitions are held at different levels- local, national, international. These competitions give us a close look at real world problems and getting a solution. Also, we learn to think from problem analysis till getting a working solution.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br /&gt;&lt;h2 style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 1.2em; line-height: 1.2; margin: 4px 0px; padding: 0px;&quot;&gt;Contribute to some existing open-source projects&lt;/h2&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;To begin with, add a few projects(usually the apps which you use often) to watch list and raise bugs/issues. Next step is suggesting features for the app.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17.920000076293945px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/4721380123214788973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2014/05/strategy-guide-to-entering-into.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/4721380123214788973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/4721380123214788973'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2014/05/strategy-guide-to-entering-into.html' title='Strategy Guide to Entering into Freelancing'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-3261854420985585925</id><published>2014-04-25T01:43:00.002-07:00</published><updated>2014-12-08T01:19:29.339-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="big data"/><category scheme="http://www.blogger.com/atom/ns#" term="kafka"/><category scheme="http://www.blogger.com/atom/ns#" term="performance"/><category scheme="http://www.blogger.com/atom/ns#" term="scale"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>[Big Data] Apache Kafka - Part I</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span id=&quot;docs-internal-guid-e269ce37-9813-7cfd-1d77-ed757e748b98&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span id=&quot;docs-internal-guid-e269ce37-9813-7cfd-1d77-ed757e748b98&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Huge amount of real-time data is continuously getting generated these days by various sources. We’ve so many examples: Facebook- &amp;nbsp;Your feed will continuously be populated with newer and newer items, you also have recent activities of your friends listed down which keeps on updating as and when any activity happens. Similarly, the question answer site Quora shows your notifications, answers, upvotes, new questions asked etc. You do not have to click the refresh button to get them. Twitter is another such very good example. On the other hand there are many such applications which want to consume this data. In most of the cases these data consuming apps are not connected to the data producing apps. Since we do not have data producers and consumers under the same umbrella, we need a mechanism which will seamlessly integrate these ends. So producers need not even know who the consumers are. They just have to bother about their work of pushing messages to a system as and when generated. The generated data is Big Data in present time. We have already got familiar with Big Data in our &lt;a href=&quot;http://viracct.blogspot.in/2014/04/big-data-introduction.html&quot; target=&quot;_blank&quot;&gt;previous post&lt;/a&gt;, we also know its characteristics- volume, velocity and variety, as well as its importance. Size of the data generated poses a big challenge in this integration system. In most of the cases it is not just about consuming the data, but also performing analytics on it. Real-time analytics on huge amount of data to produce real-time outputs is something that has to be catered to. Yes, there are some systems which do not need the real-time data. When they want to consume data, they get connected, get the data generated till that time, go back offline again and then perform analytics on the data. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id=&quot;docs-internal-guid-e269ce37-9813-7cfd-1d77-ed757e748b98&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span id=&quot;docs-internal-guid-e269ce37-9813-7cfd-1d77-ed757e748b98&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Kafka is the intermediate system between the producers and consumers which seamlessly allows different kinds of applications to consume messages. It is a publish-subscribe commit log system. It is designed to process real-time data stream activity like news feed and logs.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span id=&quot;docs-internal-guid-e269ce37-9813-7cfd-1d77-ed757e748b98&quot;&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;It was developed at LinkedIn and later open-sourced. Need- since LinkedIn had to deal with so many events e.g. Updates, user activity. With low latency.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Kafka is a distributed, partitioned system. Logs are saved under various &#39;topics&#39;. For each topic, Kafka saves messages in partitions with the intention of scaling, fault-tolerance and parallel consumption. Each partition is ordered, immutable sequence of messages which keep on adding to the log. The log is saved for a predefined amount of time. Consumers can subscribe to multiple topics. Messages are stored in order and each message has got a sequential id. There is &#39;offset&#39; of each consumer. Offset shifts with consumption of messages. Usually a consumer will consume messages in order.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;&lt;img alt=&quot;kafka_topicPartition.png&quot; height=&quot;306px;&quot; src=&quot;https://lh6.googleusercontent.com/WFIN7W82EmfXdI4OT8QJ7Fz_Pjm1MUWS4HI-6cb-I-JUCY7LpgFR87-ICijjyYhTkAW2bkATArwcaK8_wBWT2MlpVMNgufEoecNdMalOVnB1MtBLaWHl7v5294fSoo13Lw&quot; style=&quot;-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);&quot; width=&quot;398px;&quot; /&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;A server in Kafka cluster is called as Broker. Kafka cluster saves the messages for predefined period. So even if a consumer is not continuously connected with the cluster, it can keep connecting at specified periods and consume the messages published by that time.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;It is upto the producers in which topic and which partition should the message get published. Consumers can be grouped together into consumer groups. When a messages is published, it is delivered to one consumer within the consumer group.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;A single Kafka broker can handle terabytes of reads/writes per second from multiple clients.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;&lt;img height=&quot;527px;&quot; src=&quot;https://lh4.googleusercontent.com/F_YBBujrp9YbgsL0ITbruxC7fY1vrJfuruFeWJYM-pals-sci-ZuYdSItG4n8fez_5r0s1821D6g94TA37mcuXsfkngwIAPPQcotZ1ubj5f3gMn4sxrItUTb6TAbr6JttA&quot; style=&quot;-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);&quot; width=&quot;527px;&quot; /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Messages persist on disk and replicated within the cluster. We can consume a message multiple times since there is no data loss. Kafka is cluster-centric which allows fault-tolerance and durability.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;font-family: Calibri; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/3261854420985585925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2014/04/big-data-apache-kafka-part-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/3261854420985585925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/3261854420985585925'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2014/04/big-data-apache-kafka-part-i.html' title='[Big Data] Apache Kafka - Part I'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-2839494644170188406</id><published>2014-04-20T05:21:00.005-07:00</published><updated>2014-12-08T01:18:36.482-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome Web Store"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>AnswerReader : An Awesome App in the Making!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;p1&quot;&gt;&lt;b&gt;AnswerReader is a powerful app to organize and customize Quora, providing a friendly experience.&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;AnswerReader acts as a single interface for performing various activities. Using Quora from a browser will most likely result in multiple browser tabs being opened. AnswerReader provides a multi-column view of Quora. User can save which all topics he wants in those columns. These saved topics appear as per their order, until the user doesn&#39;t remove or change them. User need not set them every time he uses AnswerReader. Any of the columns can be scrolled to main readable area by simply clicking on the topic name in the left navigation panel. AnswerReader provides quick access to most of the profile related info like stats and credits.&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;&lt;b&gt;Features&lt;/b&gt;&lt;/div&gt;&lt;ul class=&quot;ul1&quot;&gt;&lt;li class=&quot;li3&quot;&gt;Create a customized Quora view: Manage columns, shortcuts and much more- all in one app.&lt;/li&gt;&lt;li class=&quot;li3&quot;&gt;Boost Productivity: No need to save every time what you want to see in the AnswerReader columns.&lt;/li&gt;&lt;li class=&quot;li3&quot;&gt;All in one interface: Manage answers, comments, replies, upvotes, drafts ,posts.&lt;/li&gt;&lt;li class=&quot;li3&quot;&gt;Stay Focused: Never miss out anything related to the topic you are most interested in.&lt;/li&gt;&lt;li class=&quot;li3&quot;&gt;Multiple Shortcuts: Shortcuts without leaving main page. Get rid of opening multiple browser tabs.&lt;/li&gt;&lt;li class=&quot;li3&quot;&gt;Follow without actually following: Keep track of activities of a topic or question even without following it in Quora.&lt;/li&gt;&lt;li class=&quot;li3&quot;&gt;Manage What or Whom to Follow: Follow or unfollow question, topic or person.&lt;/li&gt;&lt;li class=&quot;li3&quot;&gt;Become a Power User: Everything that you can do on Quora plus ease and multi-column view.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;p4&quot;&gt;&lt;span class=&quot;s1&quot;&gt;Download from Chrome Web Store:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;p2&quot;&gt;&lt;a href=&quot;https://chrome.google.com/webstore/detail/answerreader/nmlmmfhcfakpadbomgockopmaojmcnlk&quot;&gt;https://chrome.google.com/webstore/detail/answerreader/nmlmmfhcfakpadbomgockopmaojmcnlk&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;AnswerReader is an open source project. Fork it on GitHub:&lt;/div&gt;&lt;div class=&quot;p4&quot;&gt;&lt;a href=&quot;https://github.com/ranjan-rk/AnswerReader&quot;&gt;https://github.com/ranjan-rk/AnswerReader&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;p1&quot;&gt;Note: This tool is under active development. A lot of new features are coming soon.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/2839494644170188406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2014/04/answerreader-awesome-app-in-making.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2839494644170188406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2839494644170188406'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2014/04/answerreader-awesome-app-in-making.html' title='AnswerReader : An Awesome App in the Making!'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-2189418181618117564</id><published>2014-04-10T02:42:00.002-07:00</published><updated>2014-04-11T02:02:57.122-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="big data"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>Big Data : An Introduction</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;What is Big Data?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For years together, companies have been making decisions based on analytics performed on huge data stored in relational databases. Saving data in the structured manner in relational databases used to be very costly. Storing and processing huge amount of unstructured data (big data) is much cheaper and faster. This is the main reason why big data has attracted so much of attention. Big data typically has following types:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Data from social media sites.&lt;/li&gt;&lt;li&gt;Enterprise data including customer related information of CRM applications.&lt;/li&gt;&lt;li&gt;Logs of any system- be it related to software or manufacturing.&lt;/li&gt;&lt;/ul&gt;Big data and its processing are characterised by 3 qualities:&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Volume : Normally we speak of gigabytes or GBs. Here it goes from tera, peta and exa and so on bytes. And the amount keeps on increasing.&lt;/li&gt;&lt;li&gt;Velocity : Relational databases do not scale up in linear way. We expect having same performance even when the data is huge.&lt;/li&gt;&lt;li&gt;Variety : Most of the data is unstructured data with a small amount of structured data too.&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Why big data is important?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The economic value of big data varies a lot. Sometimes there are indirect advantages of big data as in decision making. Typically there is good amount of information hidden within this big chunk of unstructured data. We should be able to figure out precisely what part of data is valuable and can be used further. This leaves us wondering what do we ultimately do with such a huge amount of data analytics which should be produced as fast as possible. There are so many use cases- Twitter wants to find out most retweeted tweets or trending ones, find tweets containing a particular hashtag, Google has to get the results of so many queries, ad publishers need to know how many new ads have been posted, Quora has to publish the questions posted newly or generate news feed as per every user’s topics and people followed, millions of emails are being sent as notification and much more from so many websites, number of applications downloaded from app store, new article or post published on various news sites to be displayed and a whole lot many things. Especially with the increasing use of smart phones and GPS enabled devices, ad publishers want to display location specific ads or ads of stores located nearby the current location of the user. This helps in targeting the right set of customers.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Challenges&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get maximum benefit of the big data, we should be able to process all of the data together instead of processing it in distinct small sets. Since this data is much larger than our traditional data, the real challenge is to handle it in a way so as to overcome the computational and mathematical challenges. The heterogeneous and incomplete nature of the data is to be tackled in processing. When we do manual computations, we can handle such heterogeneity of data. However when the processing has to be done by machine, it expects the data to be complete and homogeneous. Another challenge with big data is its volume and it keeps on increasing rapidly. On hardware front, this is taken care by increasing the number of cores rather than simply increasing the clock speed and by replacing traditional hard disc drives by better I/O performance storage. Cloud computing too helps handle this volume challenge by being able to process varying workloads. The large volume of data poses the difficulty of achieving timeliness. As larger data is to be processed, it will take more time. However the quickness of getting analysis is very crucial in most of the cases.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/2189418181618117564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2014/04/big-data-introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2189418181618117564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2189418181618117564'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2014/04/big-data-introduction.html' title='Big Data : An Introduction'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-2679168540365910524</id><published>2014-02-19T16:24:00.000-08:00</published><updated>2014-02-19T16:24:16.384-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fun"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>Independent projects I worked on while being a software developer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Note : Everything mentioned here was developed after regular office hours and mostly for fun/learning purpose only.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;When I started my career as a software developer(Java), all I knew was OOPS concepts, Collections, I/O and Exception packages, a bit of Multi-Threading and XMLs (DOM parser only).&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Apart from regular day-to-day development, the first personal project I worked on was a file-search-app. Very similar to how Windows file search works. After doing some coding, I was able to: 1.Search in sub-directories 2. Search by file-type/modified-date 3. Search by file name patterns (*VO.*, notes*.txt) etc.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Next, I wanted to create a UI for this app. So learnt Swing and created a nice (If I can say so) UI for the same.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Couldn&#39;t find time to do file-indexing to improve search performance.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Few months later, I got some more interest in Swing and started working on another project - A Java based IDE. It was just for fun and not with the intention to build something better than Eclipse or NetBeans :) After I spent few weekends on coding, I was able to build and run a Java project through my IDE. Auto-suggest for method-names etc. was interesting to develop (Learnt reflection).&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;It was the 2nd year of my software development career and I was working on web/enterprise apps. I was getting introduced to various web technologies like - JSP, Servlets, Struts, JSF, GWT etc. Influenced by the magic of web technologies, I decided to build my own social network (you can laugh now :)). I knew I would never launch it but it helped me think like Mark Zuckerberg. Someone found this project interesting and finally used it for a closed group networking (with a small user-base). To be honest, what I gave was a very basic version (I realised it is a lot of work and not worth spending that much time on it) which they got enhanced later by others.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Learning so far from my independent projects - Even though I was a software developer in good companies, I was working as a Product Manager, Designer, Architect and Programmer on my pet projects.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;My next project started when Google App Engine was launched. It did not take me more than a second to realize that I can now host and run my web applications for free. I was so motivated that I learned python to create my first web app on GAE (as python was the only supported language at that time). And published one more app few months later, but gradually lost interest as I was using Java, Java EE, Spring, Hibernate etc. in my office-related work.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;But hey...wait a second...Google adding Java support to GAE. Is it true?...yes it is...and GAE with Java support was released. I had a big smile on my face!!!&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;And then I started again and never stopped actually. Till today I have created around 15 apps (using 4 Google Accounts).&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Learning so far - apart from what I highlighted in the first part of my answer, I also got the opportunity to learn new language (and related tech-stack), GAE (and hence Cloud computing- IaaS/PaaS/SaaS etc and other cloud service providers) and enjoyed seeing my web applications live (at appspot dot com).&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Next - I became the API-maniac. I got into the habit of breathing with APIs. Every week I used to choose some APIs from programmable-web(API directory) and do something with it. Apart from learning API programming, it also helped me win an iPad in PayPal X Developer Challenge.&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Chrome Apps and Extensions - Rolling out my ideas in the form of utilities was quick, easy and interesting. For example - &#39;Java Populars&#39; which I build in half an hour, has 40K+ users. Similarly, News-You-Like and Favorite-Bollywood-Tweets apps got featured in the Digit magazine. I learnt a lot about HTML5 and JavaScript through this and built 20+ apps/extensions so far - &#39;Quick Chart&#39;, &#39;Simple Task Manager&#39;, &#39;TechCrunch Slides&#39; etc to name a few.&lt;/span&gt;&lt;br /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;Summary : The entire journey helped me become a better contributor in the main projects (for which I am getting paid).&lt;/span&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;br style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px; margin: 0px; padding: 0px;&quot; /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;PS : Getting lazy to share my interest in mobile apps ( and other areas) and what did I do as part of this.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Helvetica Neue&#39;, Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/2679168540365910524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2014/02/independent-projects-i-worked-on-while.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2679168540365910524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2679168540365910524'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2014/02/independent-projects-i-worked-on-while.html' title='Independent projects I worked on while being a software developer'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-8538550828845969721</id><published>2013-11-07T05:41:00.004-08:00</published><updated>2013-11-07T05:54:32.356-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="OGNL"/><category scheme="http://www.blogger.com/atom/ns#" term="Struts"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>OGNL Implementation in Struts</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;Struts 1.x&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Struts 1.x used expression language(EL) which uses JSTL as its base. &amp;nbsp;Struts-EL tag classes are subclasses of Struts tag classes. The EL has basic object graph traversal, but it is not very powerful &amp;nbsp;and also the &amp;nbsp;indexed property support is very weak.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Struts 2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Struts 2 was released in 2007 with many exciting features. As compared to Struts 1.x, it simplified the app development task by automating data transfer(form beans to data beans and vice versa as in Struts 1.x) and type conversion(parsing string into double/integer along with exception resolution was to be done in Struts 1.x).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;OGNL&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;With Object Graph Navigation Language(OGNL) in Struts 2, data can be transferred with complex data structures like List and Map. User-defined types can be used with the help of custom converters, which are quite easy to write. OGNL acts as a layer between Struts 2 framework and Java-based processing unit.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ValueStack&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;OGNL greatly relieves developer from extra coding and maintenance effort. OGNL binds Java-side data directly to the corresponding fields in view layer. Built-in data converters save conversion work while data passes to or from Java environment. Field names in HTML can be generated using OGNL expressions to bind them directly to corresponding Java property and thus eliminates redundant code in Action classes. On contrary to the standard JSP mechanism for binding objects into the page context for access in Struts 1.x, Struts 2 uses ValueStack technology by which &amp;nbsp;taglibs can access values without coupling view to the object type it is rendering. ValueStack is set as OGNL’s root object. It contains application specific objects like action and also the model objects.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Context Map&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;img height=&quot;468px;&quot; src=&quot;https://lh6.googleusercontent.com/eDXbXDmzB9ZOHDFiPjgUjiGYTUc4ueFMNT8e1y_jgle9QKT2pSvRDnR0RSrH7j7FkX-NWUrCcewKAs1wm5pLBlVmuUFnUOnuC2A-bCG-XNQxh7flvKHihiDQ&quot; width=&quot;624px;&quot; /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;OGNL context is set to ActionContext. ActionContext is a container of objects in which action is executed. We get a reference of it by simply calling ActionContext.getContext(). There are other objects in ActionContext like Maps(referred to as context or context map) to represent application, session and request contexts.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Data Access&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The root object is referred simply by its name, without any special symbol prefixing it. Since Action instance is always pushed on ValueStack, which is the OGNL root, references to Action properties can omit pound sign. But for rest of the objects in ActionContext, ‘#’ has to be used.&lt;br /&gt;Example: To refer to Action property:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:property value=”firstName”/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;For other objects:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:property value=”#session.username”/&amp;gt;   Or&lt;br /&gt;&lt;br /&gt;&amp;lt;s:property value=”#session[‘username’]/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Similarly we can refer to properties of request, application or attr (attribute in scope).&lt;br /&gt;&lt;b&gt;Collections&lt;/b&gt; can also be referred using OGNL.List is referred by {value1, value2,....}&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:select label=”Continent” list=”{‘Asia’, ‘Europe’, ‘Africa’} value=”defaultContinent”/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Alternatively, the list can be populated in Action class with its getter, setter provided.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Map&lt;/b&gt; is referred by #{key: value ,....}&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:select label=”Continent” list=”#{‘first’:‘Asia’, ‘second’:‘Europe’,’third’: ‘Africa’} value=”defaultContinent”/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;In case of Set, we can check whether an item exists in it or not using ‘in’ or ‘not in’.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:if test=”’Asia’ in {‘Asia’, ‘Europe’, ‘Africa’}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Exists in the set&lt;br /&gt;&amp;lt;/s:if&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Percent (%) symbol&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It is used to force OGNL expression evaluation, which results in querying ValueStack for the property.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:property name=”%{continent}”/&amp;gt; &amp;nbsp;(‘#’ accesses named ValueStack property)&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;At (@) symbol&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It is used to refer static properties and method. We need to enable it in properties file by setting-&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;struts.ognl.allowStaticMethodAccess=true&lt;/code&gt;&lt;/pre&gt;and then access like this-&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:property value=&quot;@com.test.TestClass@STATIC_PROP&quot; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Dollar ($) symbol&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Used in JSTL expressions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;‘OGNL’ name might have sounded like something difficult to first time readers. But I’m sure, after reading this post you must be ready to shake hand with OGNL!!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/8538550828845969721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2013/11/struts-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/8538550828845969721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/8538550828845969721'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2013/11/struts-1.html' title='OGNL Implementation in Struts'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-2987627666739528741</id><published>2013-09-06T01:43:00.002-07:00</published><updated>2013-09-06T01:43:34.152-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hard-work"/><category scheme="http://www.blogger.com/atom/ns#" term="Task"/><category scheme="http://www.blogger.com/atom/ns#" term="ToDo"/><title type='text'>Challenging Work</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;When do you find a given task to be hard/difficult/challenging? During school days we used to call it as &#39;hard&#39;, in college days as &#39;difficult&#39; and in job days as &#39;challenging&#39;!&lt;br /&gt;&lt;br /&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;The work needs to be delivered in less than how much time you estimated for it.&lt;/li&gt;&lt;li&gt;You don&#39;t have clarity on the work but delivery date is fixed.&lt;/li&gt;&lt;li&gt;Problem statement is clear but you don&#39;t know how to do it.&lt;/li&gt;&lt;li&gt;Multiple tasks are assigned to you and the priority keeps on changing.&lt;/li&gt;&lt;li&gt;You need to take leave for some reason and all of a sudden an easy task becomes challenging.&lt;/li&gt;&lt;li&gt;Sometimes you do not like to work on a particular task and this is why it is challenging for you.&lt;/li&gt;&lt;li&gt;You are stressed and everything looks challenging to you.&lt;/li&gt;&lt;li&gt;When delivery date is very close, work appears as extraordinarily challenging.&lt;/li&gt;&lt;li&gt;Someone couldn&#39;t do it and the same work gets delegated to you...especially when that &#39;someone&#39;, you consider to be a techie (Such situation can have positive impact too..you take it up as a challenge!).&lt;/li&gt;&lt;li&gt;You are sincerely working on the task and your boss repeatedly asks you &#39;Done?&#39;&lt;/li&gt;&lt;li&gt;A combination of the above.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Have I missed any scenario?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/2987627666739528741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2013/09/challenging-work.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2987627666739528741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/2987627666739528741'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2013/09/challenging-work.html' title='Challenging Work'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-9123942774272107474</id><published>2013-07-31T22:13:00.002-07:00</published><updated>2013-07-31T22:13:59.403-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AngularJS"/><category scheme="http://www.blogger.com/atom/ns#" term="Backbone"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><title type='text'> When to use AngularJS and when to use Backbone!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;In this post I am documenting my thoughts on when to use &lt;b&gt;Backbone &lt;/b&gt;vs &lt;b&gt;AngularJS &lt;/b&gt;with the help of examples (This post is not a comparison between AngularJS and Backbone).&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;E-Commerce Application&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;It should not be a single page app (unless we are trying to address few small use-cases or building shopping site for a small merchant).&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;We need a framework which provides support for data-binding. Struts OGNL, Spring MVC, JSF EL etc work fine but these are backend technologies. For a modern web-app we need similar support using JavaScript. AngularJS from Google offers this kind of functionality and hence recommended.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;Online HTML/CSS Builder&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Edit functionality becomes more important than view/read. It should be a single page app (User experience is good in this case).&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A lot of UI specific work involved - like drag n&#39; drop, animation effects etc. Text rendering is limited. AngularJS can be used to create a SPA but Backbone is recommended.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;Interactive Reporting Tool&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Dynamic UI, report editing and cool UI effects. Backbone is recommended. Please not that Backbone alone is not sufficient so we must use a suitable js-tech-stack which is known to work properly with Backbone.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;Content Management System&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Data representation in TEXT format. Edit functionality using regular forms.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Single Page App with content getting managed in various Views. AngularJS is recommended.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Question - What will I use if I have to build GMail?&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Answer - AngularJS :)&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;* In most of the projects where I use Backbone, I define proper architecture for the JS layer, design with the help of a complete js-tech-stack and let backbone play its role (I do not let backbone drive the architecture of front-end).&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/9123942774272107474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2013/07/when-to-use-angularjs-and-when-to-use.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/9123942774272107474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/9123942774272107474'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2013/07/when-to-use-angularjs-and-when-to-use.html' title=' When to use AngularJS and when to use Backbone!'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-6961809122422869950</id><published>2013-07-26T01:58:00.000-07:00</published><updated>2013-07-26T01:58:13.725-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><category scheme="http://www.blogger.com/atom/ns#" term="Struts"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>My Findings with ModelDriven Struts Action</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;We are well aware of the usual action classes of Struts- values of the fields entered in UI populate the corresponding action properties. In case of ModelDriven action class, the properties of its model class get populated. Here is an example of it:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;public class EmployeeRegistrationAction extends ActionSupport implements ModelDriven&amp;lt;EmployeeData&amp;gt;{&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private EmployeeData employeeData = new EmployeeData();&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public EmployeeData getModel() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return employeeData;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//Rest of the methods&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class EmployeeData implements Serializable{&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String firstName;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String lastName;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String city;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//setters &amp;amp; getters&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The next step is to implement the getModel() method in such a way that it returns the application domain object, in our example we return the EmployeeData object. We can either use ModelDriven&amp;lt;Object&amp;gt;, where getModel will return Object or can specify the model class as above.&lt;br /&gt;Prerequisite for using such action class is that it should implement ModelDriven interface, for which Model Driven Interceptor should be applied to action. Since this interceptor is part of the default interceptor stack, it is applied to all actions by default. Wow...we don&#39;t have to do anything out of the way to use it!&lt;br /&gt;&lt;br /&gt;JSP:&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:form method=&quot;POST&quot;&amp;nbsp;action=&quot;/registration.html&quot; name=&quot;registrationform&quot; enctype=&quot;multipart/form-data&quot; id=&quot;registrationform&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;s:textfield name=&quot;firstName&quot; placeholder=&quot;First Name&quot;/&amp;gt;&lt;br /&gt;    &amp;nbsp;&amp;lt;s:textfield name=&quot;lastName&quot; placeholder=&quot;Last Name&quot;/&amp;gt;&lt;br /&gt;    &amp;nbsp;&amp;lt;input type=&quot;submit&quot; class=&quot;button&quot; value=&quot;Create Employee&quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/s:form&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Since I did not want to navigate to any other page and wanted the json response by staying on same page, I used ajaxSubmit(). I&#39;d used ajaxSubmit earlier too and json response was returned just as I expected. Xml entry:&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;action name=&quot;registration&quot; class=&quot;employeeRegistrationAction&quot; method=&quot;createEmployeeRecord&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;result type=&quot;json&quot;&amp;gt;&amp;lt;/result&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/action&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Javascript:&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;var registrationFormOptions = {&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;resetForm : false,// reset the form after successful submit&lt;br /&gt;        success&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;: showRegistrationResponse&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; };&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$(&quot;#registrationform&quot;).validate({&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;submitHandler:function(form){&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//perform not-null validations. If fine,submit. else show validation error messages&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$(form).ajaxSubmit(registrationFormOptions);&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;But in case of ModelDriven, json response that I was getting, was surrounded by &amp;lt;pre style=&quot;word-wrap: break-word; white-space: pre-wrap;&quot;&amp;gt; tag. I thought of extracting json sitting inside the &amp;lt;pre&amp;gt; tag, in javascript. Thankfully I was saved from it, just one minor addition and it worked:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;var registrationFormOptions = {&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;resetForm : false,// reset the form after successful submit&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;success&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;: showRegistrationResponse,&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;b&gt;dataType: &#39;json&#39;&lt;/b&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;Addition of dataType: &#39;json&#39; in the options worked wonders. I was getting a clean json response!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/6961809122422869950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2013/07/my-findings-with-modeldriven-struts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/6961809122422869950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/6961809122422869950'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2013/07/my-findings-with-modeldriven-struts.html' title='My Findings with ModelDriven Struts Action'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-1804863569120707179</id><published>2013-07-08T22:32:00.001-07:00</published><updated>2013-07-08T22:32:43.008-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cod"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>Don&#39;t eval(Javascript)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I was looping through the Department data-departmentVO_1 to departmentVO_5 (each contained DepartmentVO complexType&#39;s object) and display info against the respective department.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;for ( var x = 1; x &amp;lt; 5; x++) {&lt;br /&gt;&lt;br /&gt;   var info = &quot;departmentVO_&quot;+x;&lt;br /&gt;&lt;br /&gt;   var department = data.info;&lt;br /&gt;&lt;br /&gt;   $(&quot;#totalEmployeesDepartment_&quot;+x).val(department.departmentVO.totalEmployees);&lt;br /&gt;&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Surprisingly javascript was throwing error for department being undefined. That indicated &lt;b&gt;data.info&lt;/b&gt; was not working as I expected.&lt;br /&gt;&lt;br /&gt;I searched for concatenating loop variable to access a variable in javascript and found out that something on this line would work:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;eval(&#39;var department = &#39; +data.info);&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;w3schools says: &lt;i&gt;The eval() function evaluates or executes an argument.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;If the argument is an expression, eval() evaluates the expression. If the argument is one or more JavaScript statements, eval() executes the statements.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;But misuse of eval has led to serious concerns like security issues or performance issue or often simple bugs. Also each invocation of eval() creates a new instance of the JavaScript interpreter and hence creation of new execution context. In short additional resource being put to use. Plus such code is harder to debug and maintain (Reminds me of &#39;goto&#39; statement...we can still use it, but difficult to find problems). So it is better to check if there is any better, neater and safer alternative.&lt;br /&gt;&lt;br /&gt;I decided not to use eval in my case. Understanding what I was trying to obtain, I realized that square brackets can be used instead of literal dot-names. So my code:&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;var department = data.info;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;replaced with  &lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;var department = data[info];&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;I&#39;m convinced, so lets use eval with care!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/1804863569120707179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2013/07/dont-evaljavascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/1804863569120707179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/1804863569120707179'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2013/07/dont-evaljavascript.html' title='Don&#39;t eval(Javascript)'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-7349241330044180734</id><published>2013-07-04T02:30:00.001-07:00</published><updated>2013-07-04T02:30:04.145-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><category scheme="http://www.blogger.com/atom/ns#" term="Struts"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><category scheme="http://www.blogger.com/atom/ns#" term="Web App"/><category scheme="http://www.blogger.com/atom/ns#" term="xml"/><title type='text'>Struts + Ajax + JSON</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;It wasn&#39;t my first experiment with Struts or Ajax or jsp! Despite this fact, I ran into problems and had to spend time to fix it. So let me share what dawned to me (I&#39;m specifically avoiding term &#39;what I learnt&#39;...since I already knew it).&lt;br /&gt;&lt;br /&gt;My home.action had jsp with div in it which would open as a popup with a link click.&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;s:textfield id=&quot;fullName&quot; value=&quot;%{datamodel.fullName}&quot; placeholder=&quot;Full Name&quot;/&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;In brief, on click of the link, it was supposed to show the div with values populated, fetched from db.&lt;br /&gt;&lt;br /&gt;Action class with a method to serve my need was already in place to fetch data and populate in bean. However the action was returning another jsp. Using the same method in Action class, making an additional entry which returned result type as json, did the job.&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;action name=&quot;homePage&quot; class=&quot;HomePageAction&quot; method=&quot;loadUserData&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;    &amp;lt;result type=&quot;json&quot;&amp;gt;&amp;lt;/result&amp;gt;&lt;br /&gt;&amp;lt;/action&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;I wrote a function to send ajax request (to be called with link click):&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;function loadData(index){&lt;br /&gt;&lt;br /&gt;var userName = $(&quot;#userName&quot;).val();&lt;br /&gt;&lt;br /&gt;$.ajax({&lt;br /&gt;&lt;br /&gt;type: &quot;GET&quot;,&lt;br /&gt;&lt;br /&gt;url : &#39;/site/loadUserData.action?userName =&#39;+userName,&lt;br /&gt;&lt;br /&gt;success: function(data){&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;showProfile();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;});&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;I was getting &#39;data&#39; in success part of ajax request. Happy! I was expecting the bean values to be displayed on the pop up since bean is populated and popup opens after that. But I continued to see blank fields. Disheartened!&lt;br /&gt;&lt;br /&gt;The reason behind it was straightforward(though it didn&#39;t trigger me while I was working on it!): jsp got rendered when home.action was called. That time bean was not having values. Jsp displayed/resolved the values it had at that time. Now when I click link, send ajax request, get json response, how would jsp be aware of that!&lt;br /&gt;&lt;br /&gt;Setting the values of fields on success of ajax(), before opening the pop up call was the way out:&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;$.ajax({&lt;br /&gt;&lt;br /&gt;type: &quot;GET&quot;,&lt;br /&gt;&lt;br /&gt;url : &#39;/site/loadUserData.action?userName =&#39;+userName,&lt;br /&gt;&lt;br /&gt;success: function(data){&lt;br /&gt;&lt;br /&gt;showProfile(data.profileVO);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;});&lt;br /&gt;&lt;br /&gt;function showProfile(profileVO){&lt;br /&gt;&lt;br /&gt;&amp;nbsp; $(&quot;#fullName&quot;).val(profileVO.fullName);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Happy ajaxing &amp;amp; struting(strutting ;) ).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/7349241330044180734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2013/07/struts-ajax-json.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/7349241330044180734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/7349241330044180734'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2013/07/struts-ajax-json.html' title='Struts + Ajax + JSON'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-8757379133692653322</id><published>2013-06-30T09:25:00.000-07:00</published><updated>2013-06-30T09:25:12.050-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Database"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><category scheme="http://www.blogger.com/atom/ns#" term="WebService"/><title type='text'>Spring Data - REST</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Gone are the days when people used to take significant amount of time to expose REST service APIs for their domain objects. &quot;SPRING DATA - REST&quot; project is under active development to make your life easy. Its 1.0.0.RC3 version was released on Sep 14, 2012. We can expect the final build to be released soon.&lt;br /&gt;&lt;br /&gt;The goal of this project is to expose CRUD operations on JPA entities in the form of REST services.&lt;br /&gt;&lt;br /&gt;You can focus on defining your domain classes and SPRING DATA - REST framework will do the job of exposing them in the form of REST services (In simple words you don’t have to write even a single line of code to achieve this.) It is just a matter of configuring your project rightly with the framework.&lt;br /&gt;&lt;br /&gt;Here are few simple steps to get started with.&lt;br /&gt;&lt;br /&gt;Step 1 :&lt;br /&gt;&lt;br /&gt;Add the following maven dependency in your pom.xml :&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;dependency&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;lt;groupId&amp;gt;org.springframework.data&amp;lt;/groupId&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;lt;artifactId&amp;gt;spring-data-rest-webmvc&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;lt;version&amp;gt;1.0.0.RC3&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;lt;/dependency&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Use the following repository to resolve this dependency :   &lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;repository&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;lt;id&amp;gt;spring-milestone&amp;lt;/id&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;lt;name&amp;gt;Spring Maven MILESTONE Repository&amp;lt;/name&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;lt;url&amp;gt;http://repo.springsource.org/libs-milestone&amp;lt;/url&amp;gt;&lt;br /&gt;&amp;lt;/repository&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Step 2 :&lt;br /&gt;&lt;br /&gt;Add RepositoryRestExporterServlet in your web.xml which will act as an exporter for your JPA repositories :&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;servlet&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;servlet-name&amp;gt;exporter&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;servlet-class&amp;gt;org.springframework.data.rest.webmvc.RepositoryRestExporterServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;&amp;lt;/servlet&amp;gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;servlet-name&amp;gt;exporter&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;&amp;lt;/servlet-mapping&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Step 3 :&lt;br /&gt;&lt;br /&gt;No change is needed in your Spring JPA config file. Here is my config file for your reference :&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;&amp;lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;xmlns:jpa=&quot;http://www.springframework.org/schema/data/jpa&quot;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;xmlns:p=&quot;http://www.springframework.org/schema/p&quot;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;xmlns:tx=&quot;http://www.springframework.org/schema/tx&quot;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;xmlns:context=&quot;http://www.springframework.org/schema/context&quot;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;http://www.springframework.org/schema/beans/spring-beans-3.0.xsd         http://www.springframework.org/schema/tx&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;http://www.springframework.org/schema/tx/spring-tx-3.0.xsd&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;http://www.springframework.org/schema/context&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;http://www.springframework.org/schema/context/spring-context-3.0.xsd&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;http://www.springframework.org/schema/data/jpa&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;http://www.springframework.org/schema/data/jpa/spring-jpa.xsd&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;context:property-placeholder location=&quot;classpath*:*.properties&quot; /&amp;gt;&lt;br /&gt;&amp;lt;tx:annotation-driven transaction-manager=&quot;transactionManager&quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;bean id=&quot;dataSource&quot; class=&quot;org.springframework.jdbc.datasource.DriverManagerDataSource&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;driverClassName&quot; value=&quot;${database.driverClassName}&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;url&quot; value=&quot;${database.url}&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;username&quot; value=&quot;${database.username}&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;password&quot; value=&quot;${database.password}&quot;/&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;bean id=&quot;entityManagerFactory&quot;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;class=&quot;org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean&quot;&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;property name=&quot;packagesToScan&quot; value=&quot;com.viracct.rest.demo&quot; /&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;property name=&quot;dataSource&quot; ref=&quot;dataSource&quot; /&amp;gt;&lt;br /&gt;&amp;lt;property name=&quot;jpaVendorAdapter&quot;&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;bean class=&quot;org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter&quot;&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;&amp;lt;property name=&quot;showSql&quot; value=&quot;${hibernate.showSql}&quot; /&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;&amp;lt;property name=&quot;generateDdl&quot; value=&quot;true&quot; /&amp;gt;&lt;br /&gt;        &amp;lt;/bean&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;bean id=&quot;transactionManager&quot; class=&quot;org.springframework.orm.jpa.JpaTransactionManager&quot;&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;lt;property name=&quot;entityManagerFactory&quot; ref=&quot;entityManagerFactory&quot; /&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;jpa:repositories base-package=&quot;com.viracct.rest.demo.dao&quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/beans&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Here I have defined some simple JPA entities - Company, Department, Employee.   &lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;package com.viracct.rest.demo.domain;&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;&lt;br /&gt;public class Company {&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@Id&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@GeneratedValue(strategy = GenerationType.AUTO)&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private Long id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String description;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@OneToMany&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private List&amp;lt;Department&amp;gt; departments;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public Long getId() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setId(Long id) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.id = id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public String getName() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setName(String name) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.name = name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public String getDescription() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return description;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setDescription(String description) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.description = description;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public List&amp;lt;Department&amp;gt; getDepartments() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return departments;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setDepartments(List&amp;lt;Department&amp;gt; departments) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.departments = departments;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;&lt;br /&gt;public class Department {&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@Id&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@GeneratedValue(strategy = GenerationType.AUTO)&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private Long id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String description;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@OneToMany&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private List&amp;lt;Employee&amp;gt; employees;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public Long getId() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setId(Long id) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.id = id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public String getName() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setName(String name) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.name = name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public String getDescription() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return description;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setDescription(String description) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.description = description;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public List&amp;lt;Employee&amp;gt; getEmployees() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return employees;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setEmployees(List&amp;lt;Employee&amp;gt; employees) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.employees = employees;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@Entity&lt;br /&gt;&lt;br /&gt;public class Employee {&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@Id&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@GeneratedValue(strategy = GenerationType.AUTO)&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private Long id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private Long code;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private String designation;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public Long getId() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setId(Long id) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.id = id;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public Long getCode() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return code;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setCode(Long code) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.code = code;&lt;br /&gt;&lt;span .class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public String getName() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setName(String name) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.name = name;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public String getDesignation() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return designation;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public void setDesignation(String designation) {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;this.designation = designation;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Here are the JPA repositories for the entities mentioned above.&lt;/div&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;package com.viracct.rest.demo.dao;&lt;br /&gt;&lt;br /&gt;public interface CompanyRepository extends JpaRepository&lt;company long=&quot;&quot;&gt; {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public interface DepartmentRepository extends JpaRepository&lt;department long=&quot;&quot;&gt; {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public interface EmployeeRepository extends JpaRepository&lt;employee long=&quot;&quot;&gt; {&lt;br /&gt;}&lt;br /&gt;&lt;/employee&gt;&lt;/department&gt;&lt;/company&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Once you have deployed this application, you can see the service end points for your entities by hitting the following URL: &amp;nbsp;&lt;b&gt;http://localhost:8080/restdemo&lt;/b&gt; and the output will be : &lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;{&lt;br /&gt;  &quot;links&quot; : [ {&lt;br /&gt;    &quot;rel&quot; : &quot;department&quot;,&lt;br /&gt;    &quot;href&quot; : &quot;http://localhost:8080/restdemo/department&quot;&lt;br /&gt;  }, {&lt;br /&gt;    &quot;rel&quot; : &quot;company&quot;,&lt;br /&gt;    &quot;href&quot; : &quot;http://localhost:8080/restdemo/company&quot;&lt;br /&gt;  }, {&lt;br /&gt;    &quot;rel&quot; : &quot;employee&quot;,&lt;br /&gt;    &quot;href&quot; : &quot;http://localhost:8080/restdemo/employee&quot;&lt;br /&gt;  } ],&lt;br /&gt;  &quot;content&quot; : [ ]&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;You can browse employee objects with the following URL :&lt;b&gt;   http://localhost:8080/restdemo/employee&lt;/b&gt; and the output will be : &lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;{&lt;br /&gt;  &quot;links&quot; : [ ],&lt;br /&gt;  &quot;content&quot; : [ {&lt;br /&gt;    &quot;links&quot; : [ {&lt;br /&gt;      &quot;rel&quot; : &quot;self&quot;,&lt;br /&gt;      &quot;href&quot; : &quot;http://localhost:8080/restdemo/employee/1&quot;&lt;br /&gt;    } ],&lt;br /&gt;    &quot;name&quot; : &quot;Anuja Kumar&quot;,&lt;br /&gt;    &quot;designation&quot; : &quot;Software Developer&quot;,&lt;br /&gt;    &quot;code&quot; : 100051&lt;br /&gt;  } ],&lt;br /&gt;  &quot;page&quot; : {&lt;br /&gt;    &quot;size&quot; : 20,&lt;br /&gt;    &quot;totalElements&quot; : 1,&lt;br /&gt;    &quot;totalPages&quot; : 1,&lt;br /&gt;    &quot;number&quot; : 1&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Similarly you can access department object with id=2 with the following URL :   &lt;b&gt;http://localhost:8080/restdemo/department/2&lt;/b&gt; and the output will be :  &lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;{&lt;br /&gt;  &quot;links&quot; : [ {&lt;br /&gt;    &quot;rel&quot; : &quot;self&quot;,&lt;br /&gt;    &quot;href&quot; : &quot;http://localhost:8080/restdemo/department/2&quot;&lt;br /&gt;  }, {&lt;br /&gt;    &quot;rel&quot; : &quot;department.Department.employees&quot;,&lt;br /&gt;    &quot;href&quot; : &quot;http://localhost:8080/restdemo/department/2/employees&quot;&lt;br /&gt;  } ],&lt;br /&gt;  &quot;description&quot; : &quot;Product Development Team&quot;,&lt;br /&gt;  &quot;name&quot; : &quot;Development&quot;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Now if you want to access employee with employee-id=1 from department with department-id=2, you can get that using the following URL:  &lt;b&gt;http://localhost:8080/restdemo/department/2/employees/1&lt;/b&gt; and the output will be : &lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;{&lt;br /&gt;  &quot;links&quot; : [ {&lt;br /&gt;    &quot;rel&quot; : &quot;self&quot;,&lt;br /&gt;    &quot;href&quot; : &quot;http://localhost:8080/restdemo/employee/1&quot;&lt;br /&gt;  }, {&lt;br /&gt;    &quot;rel&quot; : &quot;department.Department.employees&quot;,&lt;br /&gt;    &quot;href&quot; : &quot;http://localhost:8080/restdemo/department/2/employees/1&quot;&lt;br /&gt;  } ],&lt;br /&gt;  &quot;name&quot; : &quot;Anuja Kumar&quot;,&lt;br /&gt;  &quot;designation&quot; : &quot;Software Developer&quot;,&lt;br /&gt;  &quot;code&quot; : 100051&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/8757379133692653322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2013/06/spring-data-rest.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/8757379133692653322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/8757379133692653322'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2013/06/spring-data-rest.html' title='Spring Data - REST'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-3271730479490653711</id><published>2013-06-28T08:18:00.000-07:00</published><updated>2013-06-28T08:18:18.820-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>Sharing CSS Properties Between Classes</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Very recently I came across a situation where one of the existing CSS class was a perfect fit for it except for its background property. Just because 1 property was unwanted, I thought to override it with &#39;style&#39; attribute and setting the background with no image. Very straightforward! Despite the simplicity of this solution, I felt to check what is the recommended practice in such scenarios...may be putting needed common features in one class and inheriting from it. I stumbled across the question- Does CSS support inheritance? (I felt stupid for not knowing the answer).&lt;br /&gt;There are tools/frameworks like OOCSS and LESS which do support inheritance. Without any of them, the better approach to my scenario would be to have a css class and write common properties in it. Then repeat the css class and add rest of the properties to it. Here it is:&lt;br /&gt;&lt;pre style=&quot;background: #EBE9ED; border: 1px solid green; overflow: auto; padding: 10px; width: 90%;&quot;&gt;&lt;code&gt;&lt;br /&gt;.oldClass, .newClass{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;common properties go here&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.old class{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;the extra one goes here e.g. background: url(&quot;../images/arrow.png&quot;);&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/3271730479490653711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2013/06/sharing-css-properties-between-classes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/3271730479490653711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/3271730479490653711'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2013/06/sharing-css-properties-between-classes.html' title='Sharing CSS Properties Between Classes'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-4963998952221689361</id><published>2012-07-14T07:28:00.001-07:00</published><updated>2012-07-14T07:28:30.254-07:00</updated><title type='text'>Software Illness</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;Every time when I watch the popular TV program &#39;Satyamev Jayate&#39;, I start thinking what might be the issue that could be raised in next episode. This time my mind thought rather differently. It came up what issue &amp;nbsp;&lt;i&gt;should be&amp;nbsp;&lt;/i&gt;raised- &#39;Illnesses of Indian Software Industry&#39;. Yes there are many, I feel. I&#39;ll group them together and refer collectively as software illness.&lt;br /&gt;&lt;br /&gt;First of all, we are very bad at following timings. We neither come on time nor leave the office on time. A wrong concept is flourishing in our software industry that those who leave office early or in time, are not sincere at work. This misconcept needs to be cured by the pill of looking at productivity instead of time spent in office. As long as deadlines are met and tasks are completed within time, sitting for longer hours in office should be discouraged. Another illness is one of the culprits behind the above issue- we are driven by &lt;i&gt;managers&lt;/i&gt;&amp;nbsp;and not by &lt;i&gt;leaders&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Software is considered to be a job-open field by candidates and as an elite one by parents. This makes many folks opt for software related education and thereafter job. Choice and liking is nowhere taken into consideration. This has led to tremendous mediocrity in our software industry.&lt;br /&gt;&lt;br /&gt;A rule of thumb to measure one&#39;s success in software career is to look at his onsite abroad assignments. If you don&#39;t have any onsite in your CV, janata considers you to be a failure! Another point in rule-book of people states that working with big software brand means you are &lt;i&gt;good&lt;/i&gt;. Working with smaller companies is thought of as you are &#39;not able to fetch a good job&#39;. So a combination of both these things means utter failure!!&lt;br /&gt;&lt;br /&gt;I wish we get rid of software illness and make it healthy asap!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/4963998952221689361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2012/07/software-illness.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/4963998952221689361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/4963998952221689361'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2012/07/software-illness.html' title='Software Illness'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-9048035715480057963</id><published>2012-07-01T05:19:00.000-07:00</published><updated>2014-04-09T06:23:14.384-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hyper-V"/><category scheme="http://www.blogger.com/atom/ns#" term="Hypervisor"/><category scheme="http://www.blogger.com/atom/ns#" term="KVM"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenStack"/><category scheme="http://www.blogger.com/atom/ns#" term="QEMU"/><category scheme="http://www.blogger.com/atom/ns#" term="VirtualBox"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtualization"/><title type='text'>Hypervisor: KVM</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;In my college days, I used to install VirtualBox on my Windows OS and run Linux inside it. Frankly speaking at that time I didn&#39;t know what is a hypervisor and what exactly a hypervisor does! :)&lt;br /&gt;&lt;br /&gt;Hypervisor (VirtualBox was my college-days&#39; hypervisor) is used to manage the guest operating systems (Linux was the guest operating system). Wikipedia defines it as:&lt;br /&gt;&lt;i&gt;In computing, a hypervisor, also called virtual machine manager (VMM), is one of many hardware virtualization techniques allowing multiple operating systems, termed guests, to run concurrently on a host computer.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;There are two types of hypervisors:&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;1. Native or bare metal- It runs directly on the host&#39;s hardware. Examples: Hyper-V, KVM, XenServer.&lt;/span&gt;&lt;br /&gt;2. Hosted- It runs within an OS. Examples: VirtualBox, VMware Workstation.&lt;br /&gt;&lt;br /&gt;I recently used KVM(Kernel-based Virtual Machine) while working with OpenStack and it worked fine without any issues.&lt;br /&gt;&lt;br /&gt;If you want to work with KVM, first thing you need to check is whether your processor supports hardware virtualization or not. Just run the following command :&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;kvm-ok&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;If you get the following output that means your processor supports it.&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;i&gt;INFO: /dev/kvm exists&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;KVM acceleration can be used&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;From whatever I have read, it looks like even if your CPU does not support KVM extensions you can still run virtual machine but it will be very slow.&lt;br /&gt;&lt;br /&gt;To install KVM run the following command:&lt;br /&gt;&lt;i style=&quot;background-color: white;&quot;&gt;apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;You need to add your user to the libvirtd group. To do so run the following command:&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;i&gt;adduser &#39;id -un&#39; libvirtd&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And then relogin to make your user an effective member of the libvirtd group.&lt;br /&gt;&lt;br /&gt;Check if the installation was successful by running the following command:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;virsh -c qemu:///system list&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I get the following output:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Id Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State&lt;br /&gt;----------------------------------&lt;br /&gt;&amp;nbsp;24 instance-0000001f &amp;nbsp; &amp;nbsp; running&lt;br /&gt;&amp;nbsp;31 win-server-1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;running&lt;br /&gt;&amp;nbsp;34 instance-00000020 &amp;nbsp; &amp;nbsp;running&lt;br /&gt;&lt;br /&gt;Initially you will not have any instance running; so you should get the following output:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Id Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State&lt;br /&gt;----------------------------------&lt;br /&gt;&lt;br /&gt;I will cover how OpenStack works with KVM in my next post.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/9048035715480057963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2012/07/hypervisor-kvm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/9048035715480057963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/9048035715480057963'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2012/07/hypervisor-kvm.html' title='Hypervisor: KVM'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-8105833738478570870</id><published>2012-06-29T22:27:00.000-07:00</published><updated>2014-04-09T06:17:39.361-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="ESSEX"/><category scheme="http://www.blogger.com/atom/ns#" term="Glance"/><category scheme="http://www.blogger.com/atom/ns#" term="Horizon"/><category scheme="http://www.blogger.com/atom/ns#" term="Keystone"/><category scheme="http://www.blogger.com/atom/ns#" term="KVM"/><category scheme="http://www.blogger.com/atom/ns#" term="NASA"/><category scheme="http://www.blogger.com/atom/ns#" term="Nova"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenStack"/><category scheme="http://www.blogger.com/atom/ns#" term="Rackspace"/><category scheme="http://www.blogger.com/atom/ns#" term="Swift"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech"/><title type='text'>OpenStack : An Introduction</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;OpenStack is a collection of open source projects that can be used for creating and running private/public clouds. It comes under IaaS (Infrastructure as a Service) category of cloud computing. In IaaS model, resources related to computing, network, storage and other infrastructure components are abstracted and provided as a service.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OpenStack project was founded by Rackspace Hosting and NASA. Rackspace contribted for the Object Storage part while NASA contributed for the Compute part.&lt;br /&gt;&lt;br /&gt;Latest (version 5) OpenStack is called ESSEX. It was released on 4/5/2012.&lt;br /&gt;&lt;br /&gt;OpenStack services have beed divided into 5 main categories:&lt;br /&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&lt;b&gt;Nova - Compute Service&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It handles/manages the lifecycle of instances created/running withing OpenStack cloud. Nova features are exposed as web services. It manages compute power, network, authorization, scalability etc.&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;If you have openstack installed then you can run the following command and check the status of various nova services:&lt;br /&gt;&lt;br /&gt;nova-manage service list&lt;br /&gt;&lt;br /&gt;Binary &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Host &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Zone &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Status &amp;nbsp; &amp;nbsp; State Updated_At&lt;br /&gt;nova-network &amp;nbsp; &amp;nbsp; &amp;nbsp;ranjank &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nova &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; enabled &amp;nbsp; &amp;nbsp;:-) &amp;nbsp; 2012-06-11 19:53:03&lt;br /&gt;nova-scheduler &amp;nbsp; &amp;nbsp;ranjank &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nova &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; enabled &amp;nbsp; &amp;nbsp;:-) &amp;nbsp; 2012-06-11 19:53:03&lt;br /&gt;nova-volume &amp;nbsp; &amp;nbsp; &amp;nbsp; ranjank &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nova &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; enabled &amp;nbsp; &amp;nbsp;:-) &amp;nbsp; 2012-06-11 19:53:03&lt;br /&gt;nova-compute &amp;nbsp; &amp;nbsp; ranjank &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nova &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; enabled &amp;nbsp; &amp;nbsp;:-) &amp;nbsp; 2012-06-11 19:53:03&lt;br /&gt;nova-cert &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ranjank &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nova &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; enabled &amp;nbsp; &amp;nbsp;:-) &amp;nbsp; 2012-06-11 19:53:03&lt;br /&gt;nova-compute &amp;nbsp; &amp;nbsp; ranjank &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nova &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; enabled &amp;nbsp; &amp;nbsp;:-) &amp;nbsp; 2012-06-11 19:53:03&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;&lt;b&gt;Swift - Storage Service&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Swift is a distributed virtual object store for OpenStack. It can be used to store large number of objects of any size. It is similar to Amazon S3 (the popular Simple Storage Service from Amazon). It can also be used for backup and archiving of objects.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Glance - Imaging Service&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Glance is an OpenStack service for adding, retrieving and deleting VM (Virtual Machine) images.&lt;br /&gt;&lt;br /&gt;Running the following command will show me what all the VM images I have added:&lt;br /&gt;&lt;br /&gt;glance index&lt;br /&gt;&lt;br /&gt;ID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Disk Format &amp;nbsp; Container Format &amp;nbsp; &amp;nbsp;Size&lt;br /&gt;------------------------------------ ------------------------------ -------------------- --------------------&lt;br /&gt;e3ef93d0-efd0-4254-bfc8-575b0894049f &amp;nbsp; &amp;nbsp; win_server_1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; raw &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ovf &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;21474836480&lt;br /&gt;d61fbaea-de34-45a5-a309-d6b0c3806bf4 &amp;nbsp; &amp;nbsp;win_server_2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; raw &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ovf &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;21474836480&lt;br /&gt;e3f2a4b4-f653-42a2-8742-1b32a55caea3 &amp;nbsp; &amp;nbsp;cirros &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;qcow2 &amp;nbsp; bare &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9761280&lt;br /&gt;67eb5530-dadb-4ad6-8d15-21f6bc34568a &amp;nbsp; tty &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ami &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ami &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 25165824&lt;br /&gt;0c454b27-5c7e-4ec3-a524-33fffad873a2 &amp;nbsp; &amp;nbsp; tty-ramdisk &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ari &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ari &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5882349&lt;br /&gt;0bbdd345-2200-40eb-b49d-9933b34b2b62 tty-kernel &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;aki &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aki &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4404752&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Keystone - Identity Service&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Keystone provides authentication and authorization for various OpenStack components like Swift, Glance, Nova etc. There are two ways it can authenticate:&lt;br /&gt;&lt;br /&gt;1. Username/Password&lt;br /&gt;2. Auth-Token&lt;br /&gt;&lt;br /&gt;Running the following command show the list of keystone users:&lt;br /&gt;&lt;br /&gt;keystone user-list&lt;br /&gt;&lt;br /&gt;+-----------------------------------------------------------------------------------------------------------+&lt;br /&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;id &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | enabled | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;email &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;name &amp;nbsp; &lt;br /&gt;+-----------------------------------------------------------------------------------------------------------+&lt;br /&gt;| eb69c5901d4b4b4aaa8ce0192a1546c2 &amp;nbsp;| True &amp;nbsp; &amp;nbsp;| rkumar@example.com &amp;nbsp; &amp;nbsp; &amp;nbsp; | rkumar &amp;nbsp; &amp;nbsp;&lt;br /&gt;| f13904ef8af5473788bb665bde5a72cc &amp;nbsp; &amp;nbsp;| True &amp;nbsp; &amp;nbsp;| akumar@example.com &amp;nbsp; &amp;nbsp; &amp;nbsp;| akumar &amp;nbsp; &amp;nbsp;&lt;br /&gt;| fb701ad1cf7f4aa2a8613cbae2066d7a &amp;nbsp; &amp;nbsp; | False &amp;nbsp; | skumar@example.com &amp;nbsp; &amp;nbsp; &amp;nbsp;| skumar &amp;nbsp; &amp;nbsp;&lt;br /&gt;| 1a737cfa16224cf8be1abdadb334326f &amp;nbsp; &amp;nbsp;| True &amp;nbsp; &amp;nbsp;| None &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| ec2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;| 2ebdab8c9a6c403cb534c4efb12a4013 &amp;nbsp; | True &amp;nbsp; &amp;nbsp;| None &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| swift &amp;nbsp; &amp;nbsp; &lt;br /&gt;| ac921326ac0b42c4b4d000b988d7911a | True &amp;nbsp; &amp;nbsp;| None &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | user &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;| acf9eca7ded441ed9dea4caaf16aa055 &amp;nbsp; &amp;nbsp; | True &amp;nbsp; &amp;nbsp;| None &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | admin &amp;nbsp; &amp;nbsp; &lt;br /&gt;| ad3da366b4c0463e967a197c868504f0 &amp;nbsp;| True &amp;nbsp; &amp;nbsp;| None &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | nova &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;| deed0e9553674db299668f8fd0256eb3 &amp;nbsp;| True &amp;nbsp; &amp;nbsp;| None &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | glance &amp;nbsp; &amp;nbsp;&lt;br /&gt;+----------------------------------+---------+--------------------------+------------+&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Horizon - UI Service&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It is web-based dashboard for managing OpenStack services. It can be used to manage VM-instances, images, users, volumes, object-store etc. You can connect to any instance though VNC from Horizon.&lt;br /&gt;&lt;br /&gt;I will cover each of these components in detail in upcoming posts. Keep watching this space.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/8105833738478570870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2012/06/openstack-introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/8105833738478570870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/8105833738478570870'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2012/06/openstack-introduction.html' title='OpenStack : An Introduction'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01711605915140276605</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5418409606538989150.post-1084894893524180284</id><published>2012-06-25T22:29:00.000-07:00</published><updated>2012-06-25T22:31:20.108-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Experience"/><title type='text'>What is (in) experience?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;A girl in my neighborhood has been searching for job since quite some time. She frequently updates me about the interviews attended. Many a times I&#39;ve heard from her that she was not considered eligible for interview. Reason- She was falling short of number of years of experience in the particular technology she applied for.&lt;br /&gt;&lt;br /&gt;Just to apply some filter at events like walk-in, I agree that having some criteria is a must. But otherwise I often feel that company should not be stringent about the number of years of experience in a technology. Suppose a candidate has prior experience in X technology and does not fit in experience criterion for currently applied Y technology. It indirectly means that the candidate&#39;s prior experience is waste. Is it really waste, useless? Not actually. While working earlier, the candidate has got familiar to so many things- processes/methodologies followed, team work (this is the most important one I feel!). Leave aside technology. Look at the corporate learning and adopting it. Not everyone adopts, true. But then those who did, should not get rejected merely because of some &#39;number&#39;!&lt;br /&gt;&lt;br /&gt;Looking at the fact that we are in a city where every third person is an IT professional, companies have got ample choice to select a candidate. Companies can keep interviewing till they get a perfect match for their requirements. Why should then one compromise for experience? It is also very likely that a person fitting in the experience criterion will meet the performance expectations. There might arise a tight situation where if a company does not hire required number of candidates in a short period of time, company might lose a client. In that case candidates might be hired who are not actually the right match for project/team/company.&lt;br /&gt;&lt;br /&gt;But yeah, if I were to hire a person for my team, I&#39;d have looked for a candidate no less than my set criteria :) At the same time I&#39;d not want to miss hiring a bright person just because of shortage of experience! Anyway, there is no foolproof approach of selecting a candidate. After all, good judgment comes from experience and experience comes from bad judgment!! Agree??&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.bootsimply.com/feeds/1084894893524180284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.bootsimply.com/2012/06/what-is-in-experience.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/1084894893524180284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5418409606538989150/posts/default/1084894893524180284'/><link rel='alternate' type='text/html' href='http://tech.bootsimply.com/2012/06/what-is-in-experience.html' title='What is (in) experience?'/><author><name>Anuja</name><uri>http://www.blogger.com/profile/07381578528256638906</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_KNHSCPEGfdI/TLl8MfFh0aI/AAAAAAAAB3E/HOy6IMiJjeY/S220/Anuja.jpg'/></author><thr:total>1</thr:total></entry></feed>