Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
What is the "Jazz Project" or Jazz based projects?
what is the role of Eclipse in Jazz based projects?
Its is a conceptual question.
I heard them in software engineering Podcast. but Don't Know much about them. So detailed reply will be appreciated.
(Note: I was a member of the team who built Jazz. I no longer work on the Jazz team but still work for IBM.)
Jazz is a family of technologies created by IBM's Rational division to enable software team tools and activities like software configuration management (SCM), bug and enhancement tracking, build automation, release and iteration planning, requirement management, test management, amongst other things.
Jazz was started in late 2004 by the Rational group because we realized that we needed a new technological foundation to help teams deal with modern challenges like geographically dispersed teams and governance and compliance issues.
There are several relationships to Eclipse. First of all, the original Jazz team was staffed with many of the same IBM folks who created Eclipse, e.g. John Wiegand, Erich Gamma, Jim des Rivieres, Nick Edgar, and Jean-Michel Lemieux, among others. Also, Eclipse technology played a bit role in the early days of Jazz. The first client technology we created was some new team extensions to the Eclipse IDE (this evolved into the Rational Team Concert Eclipse client). We also engineered the original server using Eclipse Equinox (the Eclipse implementation of OSGi) so that you could use the OSGi extensibility model to contribute server-side resources like web service endpoints, data model definitions, and web UI code.
Over time, we realized that extensibility via shared runtime wasn't going to work so we shifted over to a distributed extensibility model based on RESTful HTTP and RDF. We started an open community to define RESTful data models for team resources called "Open Services for Lifecycle Collaboration" (http://open-services.net/).
Finally, there has even been some influence of Jazz on Eclipse. When I started the Jazz Web UI code, at first I envisioned an extensible web UI much like the Eclipse UI (views, editors, etc.) but quickly pulled back on those ambitions when I realized how much work that would be to do the right way. However, over the years I collaborated with the IBM Eclipse folks talking about how we could achieve component reuse between browser and rich clients (Eclipse IDE, Visual Studio) and we also talked about how nice it would be if there could be a first-class browser story for Eclipse. After an extremely circuitous path, Eclipse.org with IBM's support proposed a new project called Orion (http://www.eclipse.org/orion/) which intends to provide this browser story for Eclipse.
So yes, quite a few relationships between Eclipse and Jazz. :-)
It's a suite of collaboration tools, which are based in a previous research sponsored by IBM.
You can browse the details (and some history) here:
Original project: http://domino.watson.ibm.com/cambridge/research.nsf/99751d8eb5a20c1f852568db004efc90/605fd62cb9a5a54485256e200066adf6!OpenDocument
Products: http://jazz.net/about/about-jazz-products.jsp
I heard about this Jazz Process:
http://www.jazzprocess.com/concept/
there's also a book
http://www.amazon.co.uk/Jazz-Process-Collaboration-Innovation-Agility
it seems interesting
What is the "Jazz Project" or Jazz
based projects?
I think It's a framework for component-based server-side applications, focussing on collaborative software development tools. It's hard to make out through the veil of buzzwords.
what is the role of Eclipse in Jazz based projects?
Presumably a lot of them are developed using Eclipse. You may also have heard them used together because Jazz is envisioned as a kind of "server-side Eclipse", i.e. a platform that aids development and integration of development tools.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
If one were interested in learning to develop on Salesforce Commerce Cloud (formerly Demandware) could they leverage knowledge in other frameworks to expedite their onboarding? If such other frameworks exist, which are they? What are some other ways a new developer in Salesforce Commerce Cloud could pick things up faster?
I am asking this question while keeping controllers, MFRA in mind. Please consider that when answering.
As a seven year veteran of Commerce Cloud (Demandware) development, a certified Developer, Support Technician, and Solution Architect, as well as a two time Subject Matter Expert (SME) for Salesforce Trailhead's certification team; These are my recommendations:
Learn to code Javascript with ECMAScript 5 syntax without relying upon frameworks nor ES6 features.
SFCC uses the Rhino engine and is not capable of using all the fancy
ES6 features you may be used to with Node or browsers. For more information on this, see: Frequently Asked Questions (Access can be gained by following instructions here.) Note: You will not be able to use jQuery in your controllers and modules. They execute on the server-side but not the same way that NodeJS does.
ExpressJS Controllers syntax
Storefront Reference Architecture (What they're calling MFRA now) uses a syntax & middleware pattern for its controllers that is similar to that used by Express.
CommonJS Module syntax
Understand how to define and use CommonJS modules. This pattern is used heavily within the SFRA architecture.
NPM Scripts
Understand how NPM Scripts are executed and configured. SFRA uses them for building all static assets (CSS, JS, etc), as well as unit tests, and deploying to a Sandbox.
If you're completely new to SFCC development and you'll be building more than just the template layer, you should use as much of the Commerce Cloud eLearning content available as possible. You can find this content from within the Commerce Cloud Developer Center.
Some suggested courses that were/are offered by Salesforce:
DEV001: Commerce Cloud Digital Architecture Overview
DEV101: Developing for Commerce Cloud Digital I - This is a paid course; highly recommended and required for dev certification.
DEV180: Developing for Commerce Cloud Storefront Reference Architecture - Focused course on developing using SFRA.
DEV181: Cartridges and Commerce Cloud Storefront Reference Architecture - Focused course on understanding cartridges and extending SFRA.
DEV201: Developing for Commerce Cloud Digital II - Critical scalability, performance, and customization learning that applies to all aspects of the platform.
Finally, after all that learning, you may find that you're having trouble getting up to speed or that you're not getting answers to your questions on SFCC Developer Center Discussion Groups. You may also request an invitation to the SFCC Unofficial Slack community by submitting this application form. Please keep in mind that this Slack is operated and supported entirely by volunteer efforts from other developers, architects, and business users. We would ask that you do your part to give back when you feel comfortable doing so.
I heard that learning AngularJS and reactjs would help alot to excel in Demandware.
It mostly depends on the project what you get.
Old Demandware uses pipelines, which look like algorithms and uses DemandwareScript, which is ECMAScript 4 and programming part is very easy. Frontend part saves states for some objects.
New Demandware uses controllers and has more code, I think currently it is ECMAScript 5. Grunt is generally used for continuous integration, with a lot of NodeJS modules. It is also more testable and Mocha, Chai and Jasmine is also used for testing. Frontend part is stateless, contrary to Angular or React and introduces promises.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
At our company we've built a data integration tool that we have sold to several customers. Most of the customers have distinct requirements. We implemented these customer-specific extensions by using a self-made mechanism based on inheritance (so every installation knows which classes to load and which not). But all this customer-specific code is still in the same codebase as the standard code.
Now, this is no longer possible for several reasons (codebase getting ugly and large, clashing requirements, etc.)
For this reason we have decided to separate the codebases: one for the standard product, and several customer-specific codebases.
I am now trying to find a version control system that supports this approach. Here's my wishlist:
support for several "standard" codebases for different releases
1.0 release
1.1 release
2.0 beta/development
support for multiple "customer" codebases
ability to create a customer codebase by cloning a standard codebase
ability to change standard code in a customer codebase
ability to update a customer codebase with a new standard release (and somehow marking the conflicts that come from changed standard code in the customer codebase)
As our team is still very small (~4 programmers), it should also be easy to handle by the developers themselves.
Btw, our software is built using Spring with STS (so, an Eclipse plugin would be great too).
All VCS that I have researched so far seem to have that target of building one piece of software - not several. I am hoping for some suggestions or best-practice approches.
Simply
Simply get git, go for pull request process and take advantage of some GUI, supporting this workflow.
Are releases much different form custom development?
To clarify, what is the situation you are facing: "standard" development comes in versions, they might live independent for maintenance, you may need to get some fixes from new versions to be incorporated in older releases, you need a way to solve hotfixes.
All these things are well solved by distributed version control systems like git, hg or others. I have started with hg, but later found, git is used more often and in standard installation offers all what is need (what is not a case for some hg features).
Regarding custom development - in fact, they do not differ conceptually much from standard versions - you just need another modification of your program being identified under unique name, which will eventually denote, these are custom things.
Branching or pull request process?
Now how to approach different "swim-lines" for different versions and custom developments?
Branching workflow models
Obvious answer is "branching". There is a lot of tutorials on various branching models and they shall be solving your problem.
However, branching is not trivial either and you may find long disputes on what style is the best one.
Topical repos and pull request workflow
Fortunately, there are even simpler solutions - Pieter Hintjens article http://hintjens.com/blog:24 about "Branching considered harmful" provides simpler model, using topical repositories and pull request process. This is how many projects on GitHub and BitBucket are managed and I found this really the most effective solution with minimal risks.
Final recommendations
For pull request working process, it is handy to have some GUI, which supports related communication - and apart form GitHub and BitBucket, there are solutions on the market (incl. some open source solutions).
Prepare yourself for long run - starting with linked article by Pieter Hintjens may make your run a bit shorter, next step could be playing with a project on BitBucket or so, then design "the final" system (which will anyway evolve during time, but git repos are well suited to keep with the changes).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I was reading the following post:
Why use Windows Workflow?
Now wf concept looks promising technology for lowering company costs on business process implementation. MS WF looks that it does not have everything for fast implementation. What are other wf/bpm options for fast implementation?
I have been working with workflow engines/systems (OpenText, K2.net, Metastorm, MS WorkFlow Foundation, ...) for past 10 years and I can say that wf technology can be very useful, however it's not suitable for solving all type of problems.
Basicly it's ment to solve process oriented tasks. You would ask your self what does this mean!? Well process is any entity that has start, duration and end. If you look the tipical company is buildup with processes. Apparently storing some final reports in such system would not be the goal... The power shows up when those tasks needs to be processed in controled manner or new process route is required. Classic implementation would require for developer to write additional code, good wf system will let you implement route change in a second without line of code and process versioning is not a problem. This in just one of the benifits.
You should look at wf system as platform for fast process development, monitoring, optimization and versioning. It should give you all the tools needed for BPM life cycle. Here you can find what I am talking about: http://en.wikipedia.org/wiki/Business_process_management
In my professional career I have developed one wf engine and one fully wf system based on MS .net technology. If you are interested in details please visit my web site:
http://www.gp-solutions.si/business/Product.aspx?s=pro&id=1&cat=2 With this system you can develope new process with all the forms, monitoring, security, documents,... in less then 10 min. You can not do this in traditional way of development. Save time and money is the name of the game here.
If you're looking for a commercial alternative for fast BPM implementation I worked with two .NET based platforms in the past - K2.net and PNMSoft.
I personally like PNMSoft (http://www.pnmsoft.com/) since it is native .NET, it supports WF and other technologies and is extremely fast and easy to use.
If you're looking for open-source alternatives, there are some .NET based ones like Bonita (http://sourceforge.net/projects/bonita/) but don't expect it to be as quick and easy...
Nowadays there are several open source BPMS under convenient license models.
For instance the Eclipse Process Manager "Stardust" (http://www.eclipse.org/stardust/) is a comprehensive and mature Java open source BPMS. Its commercial version is used in several products for different industries, also in combination with .NET.
browser-based or Eclipse based process modeler
Process engine in Spring or EJB mode, e.g. Tomcat
Web Service and Java APIs (SOAP, REST)
OOTB portal for workflow execution, business control center and administration
User interface mashup feature to include arbitrary UI technologies in workflow steps
embedded DMS
strong ootb system integration capabilities (JMS, WS, Camel,...)
Amazon Web Service Stardust image available (http://wiki.eclipse.org/Stardust/Knowledge_Base/Getting_Started/RTE_on_AWS)
commerical support and SaaS on demand offering available
suitable e.g. for human centric workflow, ETL, low latency and high volume message processing, document centric worklfow and document management,...
Best regards
Rob
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
My team and I need to work on a project whose bugs are filed in Bugzilla, using Mylyn.
Do you know of any tool or plug-in that provides scrum-inspired burndown charts to Bugzilla or Mylyn?
Hopefully, this tool would be free for commercial usage, but we're not closed to commercial tools.
Update: 4 hours of research allowed me to find very few free tools. Looks like bugzilla isn't popular in agile teams! And obviously, it's not the best fit.
The Songbird project made a really good job of documenting how they customized their Bugzilla instance and developed tools to automatically generate daily reports, including burndown charts. They released their set of tools as ruby open-source code under the MIT license. Very interesting stuff, especially since it comes from a high-profile, important community project.
There's Scrum Vision:
free
open source in very active development
for mylyn
publishes burndown chart to a Google Spreadsheet
We think of this as the last resort option, because of the charts being generated offsite.
There's also TargetProcess:
commercial
free for up to 5 persons, self-hosted (need a Windows server)
integrates with Bugzilla and JIRA:
Bugzilla synchronization is automatic, one-way (read-only)
JIRA synchronization is automatic, two-way
Subversion, Selenium, and more
And there's VersionOne:
supposedly the most used commercial tool
integrates with Bugzilla, JIRA, Subversion, Fitnesse and more
There's also a really nice features list (PDF).
There's also Yoxel:
commercial open-source
integrates with Bugzilla and others
not sure if burndown charts are part of the free open-source offering
UI and UX made it really hard to find burndown charts. Or maybe because the demo data wasn't setup to make them work, because I've definitely seen line charts, just no burndown-looking one.
It wasn't easy to find out that ScrumWorks Pro features burndown charts, but on second look, it does:
commercial
price undisclosed (contact the company for a quote!)
Pro integrates with Bugzilla and JIRA
synchronization is manual: import or update-from-reimport
synchronization is one-way: bugs/issues are read-only in the software
I also found Rally Enterprise Edition.
commercial
EE integrates with:
Bugzilla and JIRA:
Bugzilla synchronization is automatic, two-way
JIRA synchronization is manual, two-way
Mylyn & TaskTop
Subversion, Fitnesse, Hudson, Ant, and much more
Free for commercial use
Online
Simple
Have a look:
http://www.burndown-charts.com/teams/dreamteam/sprints/prototype-x
Oh they also support teams in different time zones and openID.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
While using Aptana and Eclipse for the first time in my programming life for PHP projects, I am wondering how these projects get funded. There is a lot of activity in the Eclipse community and the IDE itself is very good. I came across various Eclipse IDE sites and I am not able to decide which one is the official site of the Eclipse project. There is also news that the community is also working on dynamic language integration and one Aptana product is already out there.
How the full-time and part-time programmers get funded in these projects? I came to know that Aptana has withdrawn it's PHP support. Will Eclipse continue supporting PHP?
From the Eclipse "About" page:
The Eclipse Foundation is funded by
annual dues from our members and
governed by a Board of Directors.
Strategic Developers and Strategic
Consumers hold seats on this Board, as
do representatives elected by Add-in
Providers and Open Source committers.
The Foundation employs a full-time
professional staff to provide services
to the community but does not employ
the open source developers, called
committers, which actually work on the
Eclipse projects. Eclipse committers
are typically employed by
organizations or are independent
developers that volunteer their time
to work on an open source project.
Support for various languages in Eclipse is through Plugins. There are a number of plugins to provide PHP coding support.
Aptana on the other hand is a for profit company spun out of the Eclipse code base. I believe their current business model is selling hosting and support. They used to sell a "pro" edition of the editor, but I can't seem to find that anymore.
The homepage of the eclipse project is http://www.eclipse.org.
As to the funding: some programmers are paid (for example by IBM which originally started the eclipse project, or companies that use Eclipse as part of their own product or strategy), and as with almost all open-source projects a lot of programmers really just work in their free time on a part.
Eclipse consists of a rather small core, and a lot of plugins, which are all developed by different individuals.
Open source projects get funded because the companies and individuals involved believe that it is in their best interests. For some, it is a matter of building reputation so that they can sell services in other contexts. Some companies fund the Eclipse Foundation in exchange for goodwill, business opportunities, advertising, and whatnot.
Pragmatically, creating and running an open source project is a good way of bring like-minded individuals together to share a development burden. Much of what is created at Eclipse, for example, is infrastructure and frameworks upon which applications can be be built. If you think about it, most of the software we use contains tonnes of functionality that you only really care about if it isn't there. You probably don't use Eclipse because of the fantastic component model (OSGi referenced implementation), or the ability to stack views, manage editors, workbench, etc. However, if all those things weren't there, you probably wouldn't use Eclipse. In general, it's probably the case that upwards of 80% of the functionality in any given application just isn't all that interesting unless it's not there. Some 80% of functionality is "plumbing". So instead of having a dozen separate organizations each spend time and money building infrastructure/plumbing that the end user only cares about if it isn't there, these companies come together in open source to work together on those shared bits of infrastructure that they ultimately use to compete against each other in the marketplace. They do it in open source so as to invite additional like-minded organizations to participate.
Other organizations get involved with open source to help develop a market. If you think of all the millions of people who just use Eclipse. If some small number of them choose to buy a useful plug-in or two, that can turn into a good business.
Some organizations bet their business on the technology. Eclipse RCP, for example, is used by--literally--hundreds of organizations to deliver applications. If an organization depends so much on a technology, it makes sense to invest time, energy, and money in it to make sure that it continues to exist and grow.
Here's an article that I found interesting:
http://news.cnet.com/8301-13505_3-10387512-16.html?tag=mncol;title
There are other reasons, but these are some of my favourite.
Often projects like this are simply people with an interest giving their own time, sweat and tears to produce great software.
Some bigger ones (Mozilla Foundation) form non-profit organisations and may get donations. Mozilla gets millions of $s through their referral to Google in their search bar - every search from that to google counts for cash.
Very occasionally it's in a company's benefit to produce something open source and even pay their workers to work on it. Take Google Chrome for example. It makes sense for Google to make their browser, and indeed pay their employees for it. But to keep people trusting them, and to allow for other developers to play and add to it, they've released the source code in the Chromium project, and anyone can download, compile and use that.
In regards to Aptana - that's a company, and they write open source free plugins to Eclipse etc so that people can write for and use their products. It makes sense for them to contribute as they'll get something back. I can't see any reference to them pulling their support though, but you may well have better sources.
Hope that helps!
They outsource everything to offshore cubicles.