3 Dogs and a Cat Software - Collie, Sheltie, and Calico Cat (and now Chihuahua) approved Mobile Software
en
Welcome to 3 Dogs And A Cat Software
node/1
<span property="schema:name">Welcome to 3 Dogs And A Cat Software</span>
<span rel="schema:author"><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span property="schema:dateCreated" content="2009-03-19T21:13:20+00:00"><time datetime="2009-03-19T17:13:20-04:00" title="Thursday, March 19, 2009 - 17:13">Thu, 2009-03-19 17:13</time>
</span>
<div property="schema:text" class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Welcome to our corporate web site. Have a look around. Check out our products. Report problems with our software.</p>
</div>
Thu, 19 Mar 2009 21:13:20 +0000
Administrator
1 at
On the subject of Extending Drupal 8
blog/extending_drupal_8_intro
<span>On the subject of Extending Drupal 8</span>
<span><span lang about="index.php/user/21" typeof="schema:Person" property="schema:name" datatype>jason</span></span>
<span><time datetime="2017-01-10T11:18:05-05:00" title="Tuesday, January 10, 2017 - 11:18">Tue, 2017-01-10 11:18</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Apart from our mobile app development, we also do web development and maintenance. One of the sites that we maintain is <a href="">the Cooler Crew</a> web site, devoted to the St. Paul Winter Carnival Medallion Hunt, and similar treasure hunts in general (in the name of disclosure, the owner of this company is a long-time member of that group). We've been maintaining it for years, growing it from a massive collection of static pages, to something slightly database and template driven, to its current incarnation, built upon Drupal 6, and now Drupal 7. As with any site there's a rather large amount of code that goes into it. Some of the examples of code we've built includes the following:</p>
<ul>
<li>One of the group members created holiday specific logos for the site, similar to what Google has done. While there is a way to have a site logo appear in a block, Drupal doesn't natively support dynamic logos, so we built a Holiday Logos module for the Drupal 7 site.</li>
<li>Periodically URL aliases on pages need to be changed. Since the page content remains the same it would be nice to track those changes and issue an appropriate redirect so that search engines and anyone who has bookmarks to a given page get sent to the new page, and the search engine history is retained. Not that all search engines do a good job of handling permanent redirects (Bing I'm looking at you). We created a simple alias manager module that implements hook_node_update to track previous aliases, and hook_url_inbound_alter to issue the redirects and keep track of when a given old alias was last used.</li>
<li>The site has a calendar which includes dates of ongoing treasure hunts around Minnesota and western Wisconsin, as well as other get-togethers. While its really not a huge deal to integrate the two types of events into a single calendar, we did it programatically, with a module to create a calendar_event content type, and one to create a calendar view that incorporates dates from both the calendar events and the treasure hunts, and also makes a "todays events" block available.</li>
<li>The site also archives things like newspaper articles about treasure hunt finders. If you peruse a newspaper's web site, you may notice that there's often a block present containing links to articles related to the one you're currently reading. We wanted to do the same linking these article archives to the appropriate treasure hunt, and do it automatically. Drupal provides a great system of tags, and we've created a module to leverage those tags to create a related content section on treasure hunt pages. It brings in a new field that can be added to any content type.</li>
<li>Finally, while the site could stand alone without any of the above functionality, it would be pointless to have without the information about the treasure hunts to which it is devoted. The information about a given treasure hunt includes dates, prize amounts, finders, rules, locations, how the treasure was concealed at that location, and most importantly the clues and what they meant. After a given hunt is over, and the meanings of the clues revealed, there's always a critic on them, so we added a fivestar field to the clues to allow people to give ratings to them.</li>
</ul>
<p>So why are we talking about this now? As I mentioned earlier in this post, the site is built on Drupal 7. While Drupal 7 is certainly not outdated, we wanted to be able to migrate the site to Drupal 8, as it has been available for nearly two years at the time of this writing, and is the future direction of the code base. In addition there were a few shortcuts we took in developing some of the code for Drupal 7, and some functionality that wasn't completely implemented that we wanted to clean up. We figured it didn't make sense to do it in the existing code, so everything we're doing going forward is going to be for D8. There's one problem. Drupal 8 came with an enormous architecture change. Many hooks we'd relied on are no longer there. And what we've found along the way is that some of the things we wanted to do just aren't all that well documented. This blog series will set out to document some of the process we went through to create the modules necessary to migrate our existing custom site from Drupal 7 to Drupal 8.</p>
<p>We'll start with the Related Content module. It creates a new field type that can be embedded in any existing fieldable entity. It's already mostly completed, so bear with us as we "backport" the documentation. I say mostly completed, as its mostly functional, but there's also some room for improvement. For instance, the Drupal 7 version of the code is written so that when a node is updated with its tags, any nodes which either did point to the new node through their related content, or would have those links added are flagged as needing reindexing from the search module. This was so that the backlinks feature on a node was properly handled. Backlinks came out of Drupal 8, so implementing that wasn't a huge priority. The same thing was there with automated unit tests. We'll add that functionality back in, and it'll likely require some refactoring of queries, and how related tags are stored to make it happen. But the important thing right now is to get something usable for what we need and to show you how we did it.</p>
<p>After that, we'll work on the Treasure Hunt code, which will actually consist of multiple modules. The treasure hunt itself is a new content type on the node entity, and any given treasure hunt will have multiple clues. Like Drupal comments, we expect these clues to be their own fieldable entities. While we could have simply created a multiple-use field and attached it to a treasure hunt, we've gone the route of an entity for two reasons. First, we want to be able to add fields to it. Well, actually that's the only reason. When the Cooler Crew site started out all there was was the clues and their explanations dating back to 1952. As the site added the current year's hunts, the previous maintainers, in addition to the official explanations provided by the newspaper running the hunt, would add in editorial comments. Sometimes, these editorial comments would be taken from various hunters' thoughts on what the clue might mean, especially with the benefit of hindsight after the treasure had been found. Making a static field would have made it difficult to add this sort of commentary to the clues after the fact, as well as made it difficult to add the fivestar clue ratings to the clues. We'll have to add dates and location, prize and finder information to the treasure hunt code, and we'll walk through that along the way.</p>
<p>The next piece of the treasure hunt puzzle will be implementing the particular treasure hunt type. The big show for the Cooler Crew is the annual hunt during the Winter Carnival. But there are a myriad of suburbs of the Twin Cities, as well as towns in greater Minnesota and Wisconsin with annual festivals that have some sort of treasure hunt attached to them. In addition several members of the group organize what they call mock hunts throughout the year as basically practice. It wouldn't make sense to lump all of these hunts together, so the Treasure Hunt data ends up being a taxonomy. In Drupal 7 this was hacked together with an artificial content type called a Treasure Hunt List Page, which was linked to a treasure hunt type. The list page was necessary because the main Winter Carnival hunt was historically divided into decades for smaller listings, and discussion of what happened hunt-wise in that decade. We haven't fully thought through how to go about doing that, but leveraging the taxonomy module has come to mind. Regardless, we anticipate creating an entity for Treasure Hunt types, and possibly a sub-entity for the list pages.</p>
<p>The current versions of the treasure hunt code also bring in Google Maps for geolocating where the treasure was hidden, so that a localized map can be attached to each individual treasure hunt, and a larger area map can be attached to the hunt type in general so that all previous locations for a given type of hunt can be displayed on a given page. The existing Treasure Hunt Mapping module provides this for us. But we also want to grow it for Drupal 8; currently all hunts share the same icon. We want to have the ability to give each hunt type its own icon. Municipal boundaries for Ramsey County and Saint Paul, MN are somewhat hard-coded. We'd like to be able to leverage some GIS system for that sort of thing in the future, possibly even getting down to the level of park boundaries.</p>
<p>Lastly in the treasure hunt category, we have a clue rating module, which depends on the fivestar and voting api modules. While at the least the voting api module has a development port for Drupal 8, fivestar does not. This isn't critical for the functionality of the site; we'll just have to hold on to the few votes we have on the site and migrate them when code is complete. That said, both projects are looking for new maintainers, so in order to implement this functionality we may end up completing the ports and seeking to maintain them going forward.</p>
<p>Once the treasure hunt module is complete, we'll look at the calendar-based modules we've created; the ones that create the Calendar Event content type, and then merge that with the Treasure Hunt to create a calendar view and a what's going on today block. There's not going to be a lot of code behind these, they're more configuration items than anything else.</p>
<p>The last hurdle to migration will be site theming. The current site uses a theme built on top of an old version of zen. Unfotunately, zen doesn't appear to be getting maintained in D8, so we'll start from scratch on that. Theming is not our forté, so like the current theme, we'll start with something new and mobile friendly, probably Bootstrap.</p>
<p>Following that, we'll work on the less necessary items: alias manager, and the holiday logos.</p>
<p>Oh yeah, and we'll make all of the code for these modules available as we go. There's not really anything proprietary about any of it and as much as we want to have these things documented for ourselves, we want to share this process with others who are doing site migrations as well!</p>
<p>Cheers!</p>
</div>
<div class="field field--name-field-tags field--type-entity-reference field--label-above field--tags">
<h3 class="field__label field--tags__label">Tags</h3>
<ul class="links field__items field--tags__items">
<li class="field--tags__item"><a href="index.php/taxonomy/term/1" hreflang="en">Drupal 8</a></li>
<li class="field--tags__item"><a href="index.php/taxonomy/term/2" hreflang="en">Migration</a></li>
</ul>
</div>
Tue, 10 Jan 2017 16:18:05 +0000
jason
28 at
WithholdingCalc 1.2014.2 released for iOS and OSX
node/27
<span>WithholdingCalc 1.2014.2 released for iOS and OSX</span>
<span><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span><time datetime="2014-05-21T14:59:37-04:00" title="Wednesday, May 21, 2014 - 14:59">Wed, 2014-05-21 14:59</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>APPLE VALLEY, MN -- 3 Dogs and a Cat Software is pleased to announce the release of version 1.2014.2 of its popular WithholdingCalc app for both the iOS mobile platform and OS X. Read more about WithholdingCalc.</p>
</div>
Wed, 21 May 2014 18:59:37 +0000
Administrator
27 at
WithholdingCalc 1.2012.2 is available in the App Store
node/26
<span>WithholdingCalc 1.2012.2 is available in the App Store</span>
<span><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span><time datetime="2011-12-22T11:02:42-05:00" title="Thursday, December 22, 2011 - 11:02">Thu, 2011-12-22 11:02</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>We would like to announce the availability of WithholdingCalc 1.2012.2. This is the first release containing tax rate updates for 2012. We are closely monitoring the situation in the US Congress regarding the payroll tax cut extension and will make an update available if and when an agreement is reached. In the meantime, the calculations have reverted to 6.2% from 4.2%.In addition, this update contains 2012 tax rates for the following states: Alabama, California, Connecticut, Idaho, Kentucky, Maine, Maryland, Massachusetts, Minnesota, New Jersey, New Mexico, North Caroline, North Dakota, Oregon, Puerto Rico, Rhode Island, and Vermont, as well as preliminary calculations for 2012 federal taxes.Also, with this new version, WithholdingCalc has become a universal application, running at full screen on an iPad.Finally, we've got some new and exciting features planned for after the first of the year. We're still working out exact details, but the biggest feature planned is one for independent contractors who also have regular employment and can alter their withholding forms to have their payroll taxes cover their taxes due to the contract work (we're not targetting this towards exclusive independent contractors since you'll be paying estimated taxes based on other formulas).</p>
</div>
Thu, 22 Dec 2011 16:02:42 +0000
Administrator
26 at
WithholdingCalc is Now Available in the iTunes App Store
press_room/WithholdingCalc_1.2011.1_Available
<span>WithholdingCalc is Now Available in the iTunes App Store</span>
<span><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span><time datetime="2011-11-10T17:28:08-05:00" title="Thursday, November 10, 2011 - 17:28">Thu, 2011-11-10 17:28</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="content">
<p>APPLE VALLEY, MN -- 3 Dogs and a Cat Software, LLC is pleased to announce the availability of its latest mobile application for the iOS platform. WithholdingCalc is a fully functional paycheck estimator, calculating tax withholding amounts based on the user's filing status, income, pay period, and claimed exemptions. WithholdingCalc includes 2011 withholding tables from the Internal Revenue Service, all 41 states which have an income tax, plus the District of Columbia and Puerto Rico.</p>
<p>As the 2012 withholding tables are made available, WithholdingCalc will be updated to include these tables.</p>
<p>WithholdingCalc will available at a price of $1.99 (US Dollars) from the iTunes App Store.</p>
<p>For further information, <a href="">please see the WithholdingCalc product page</a>.</p>
<p>iTunes, iPhone, iPAd, and iPod Touch are trademarks or registered trademarks of Apple Computer, Inc.</p>
</div>
</div>
Thu, 10 Nov 2011 22:28:08 +0000
Administrator
24 at
3 Dogs and a Cat Software Releases WithholdingCalc
press__room/WithholdingCalc_1.2011.1
<span>3 Dogs and a Cat Software Releases WithholdingCalc</span>
<span><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span><time datetime="2011-11-04T12:56:46-04:00" title="Friday, November 4, 2011 - 12:56">Fri, 2011-11-04 12:56</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>APPLE VALLEY, MN -- 3 Dogs and a Cat Software, LLC is pleased to announce the release of its latest mobile application for the iOS platform. WithholdingCalc is a fully functional paycheck estimator, calculating tax withholding amounts based on the user's filing status, income, pay period, and claimed exemptions. WithholdingCalc includes 2011 withholding tables from the Internal Revenue Service, all 41 states which have an income tax, plus the District of Columbia and Puerto Rico.</p>
<p>As the 2012 withholding tables are made available, WithholdingCalc will be updated to include these tables.</p>
<p>WithholdingCalc will available at a price of $1.99 (US Dollars) from the iTunes App Store.</p>
<p>For further information, <a href="">please contact us</a>.</p>
<p>iTunes, iPhone, iPAd, and iPod Touch are trademarks or registered trademarks of Apple Computer, Inc.</p>
</div>
Fri, 04 Nov 2011 16:56:46 +0000
Administrator
23 at
iQuilt 1.0.1 accepted for sale in the iTunes App Store
press_room/iQuilt1.0.1
<span>iQuilt 1.0.1 accepted for sale in the iTunes App Store</span>
<span><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span><time datetime="2010-04-22T21:26:00-04:00" title="Thursday, April 22, 2010 - 21:26">Thu, 2010-04-22 21:26</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>APPLE VALLEY, MN -- 3 Dogs and a Cat Software, LLC is pleased to announce that iQuilt version 1.0.1 has been accepted for sale into the iTunes App Store. This release fixes several major bugs in the functioning of the application, discovered after its initial release, including an always-zero readout when using the block buttons (square, half-square, 45 degree diamond, etc.), and an inconsistent clearing of the display in the quilt dimensions screen. Also, we have introduced a help page, describing how to use the application, accessible from the product page.</p>
<p>iQuilt is a fabric calculator for quilters, allowing the user to input various dimensions for a quilt and retrieve the amount of fabric required to make that quilt. For more product details, including screen shots, please see the <a href="">iQuilt product page</a>.</p>
<p>iQuilt is available at a price of $3.99 (US Dollars) immediately in the iTunes App Store worldwide.</p>
<p>For further information, <a href="">please contact us</a>.</p>
<p>iTunes, iPhone, iPAd, and iPod Touch are trademarks or registered trademarks of Apple Computer, Inc.</p>
</div>
Fri, 23 Apr 2010 01:26:00 +0000
Administrator
21 at
iQuilt 1.0 Accepted For Sale in the AppStore
press_room/iQuilt1.0
<span>iQuilt 1.0 Accepted For Sale in the AppStore</span>
<span><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span><time datetime="2010-04-07T15:44:00-04:00" title="Wednesday, April 7, 2010 - 15:44">Wed, 2010-04-07 15:44</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>APPLE VALLEY, MN -- 3 Dogs and a Cat Software, LLC is pleased to announce that iQuilt version 1.0 has been accepted for sale into the iTunes App Store. iQuilt is a fabric calculator for quilters, allowing the user to input various dimensions for a quilt and retrieve the amount of fabric required to make that quilt. For more product details, including screen shots, please see the <a href="">iQuilt product page</a>.</p>
<p>iQuilt is available at a price of $3.99 (US Dollars) immediately in the iTunes App Store worldwide.</p>
<p>For further information, <a href="">please contact us</a>.</p>
<p>iTunes, iPhone, iPAd, and iPod Touch are trademarks or registered trademarks of Apple Computer, Inc.</p>
</div>
Wed, 07 Apr 2010 19:44:00 +0000
Administrator
20 at
3 Dogs and a Cat Software Loses One of Its Namesakes
press_room/Storm
<span>3 Dogs and a Cat Software Loses One of Its Namesakes</span>
<span><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span><time datetime="2009-10-09T22:05:05-04:00" title="Friday, October 9, 2009 - 22:05">Fri, 2009-10-09 22:05</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>APPLE VALLEY, MN -- 3 Dogs and a Cat Software is saddened to report that one if its namesake dogs, Storm, a 7 and a half year old blue merle collie, passed away peacefully this afternoon. Two weeks ago he stopped eating his kibble and started drinking excessive amounts of water (along with the associated accidents every morning). After trying to feed him ground beef and rice, he lost interest in that last Friday at which point we took him in to the vet. The blood work showed a high calcium level, which is associated with either a form of cancer or hyperparathyroidism. We'd been hopeful for the latter because the symptoms were all consistent with that while different symptoms correspond to different location malignancies and they all came on so suddenly. Alas, the bloodwork was negative on that and since we'd been force feeding him for the past two days decided that the only thing we'd be doing was causing unnecessary suffering.</p>
</div>
Sat, 10 Oct 2009 02:05:05 +0000
Administrator
19 at
3 Dogs and a Cat Software Releases iCoach 1.0
press_room/iCoach1.0
<span>3 Dogs and a Cat Software Releases iCoach 1.0</span>
<span><span lang about="user/1" typeof="schema:Person" property="schema:name" datatype>Administrator</span></span>
<span><time datetime="2009-06-12T01:00:00-04:00" title="Friday, June 12, 2009 - 01:00">Fri, 2009-06-12 01:00</time>
</span>
<div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>APPLE VALLEY, MN -- 3 Dogs and a Cat Software, LLC, is pleased to announce the initial release of its first application for the iPhone, iCoach. iCoach is a coaching application containing a stopwatch with millisecond accuracy, a lap timer which tracks both the current lap's time as well as the total elapsed time since the stopwatch was started.</p>
<p>3 Dogs and a Cat Software has plans for future enhancements to iCoach, including training timers, two-runner lap sets, event records and statistics, as well as a pedometer.</p>
<p>iCoach is available in the iTunes Application store for both the iPhone and the iPod Touch, priced at $0.99 in the US. Global pricing is equivalent. Information is available from the company's web site at <a href=""></a>.</p>
<p>iTunes, iPhone, and iPod Touch are trademarks or registered trademarks of Apple Computer, Inc.</p>
</div>
Fri, 12 Jun 2009 05:00:00 +0000
Administrator
5 at