Skip to content

Software Development News: .NET, Java, PHP, Ruby, Agile, Databases, SOA, JavaScript, Open Source

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!


GWT Now Fully Supported by Ranorex - Start GWT Automated Testing Latest News - Thu, 11/06/2014 - 15:14
With Ranorex 5.2 the support of Google Web Toolkit has been improved.
Start testing your GWT based web application now.

GWT Test Automation

Download Ranorex 5.2 and start GWT Test Automation

Upgrade for free with your valid subscription (You'll find a direct download link to the latest version of Ranorex on the Ranorex Studio start page.)
Categories: Vendor

Progress Announces Availability of Modulus for AWS

Progress Software News - Thu, 11/06/2014 - 14:00
Progress Announces Availability of Modulus for AWS
Categories: Vendor

Guangzhou Boji Fuels Expansion in Highly Competitive Contract Research Organization Market Segment with Oracle Health Sciences Applications

Oracle Database News - Thu, 11/06/2014 - 14:00
Guangzhou Boji Fuels Expansion in Highly Competitive Contract Research Organization Market Segment with Oracle Health Sciences ApplicationsLeading Chinese contract research organization accelerates clinical data collection and validation, improves data integrity, and boosts productivityRedwood Shores, Calif. – November 6, 2014News Summary

Contract research organizations (CROs) are constantly looking to improve clinical trial data quality while reducing costs and accelerating studies for sponsors. They also seek ways to distinguish themselves in an increasingly competitive market. Guangzhou Boji, one of China’s leading CROs, selected Oracle Health Sciences e-clinical solutions to help it advance each of these goals. Using the solutions, the CRO is improving clinical study efficiency and productivity and enhancing data accuracy, visibility, and integrity while credentialing itself with world-class e-clinical applications that boost sponsor confidence.

News Facts Guangzhou Boji, one of China’s leading CROs, implemented Oracle Health Sciences e-clinical solutions—including Oracle Clinical, Oracle Remote Data Capture, and Oracle Thesaurus Management System—to help improve clinical trial data quality, study efficiency, and productivity while reducing costs and accelerating studies for sponsors. Guangzhou Boji selected the Oracle Health Sciences e-clinical solutions in November 2013. Guangzhou Boji, which conducts 40 to 50 key clinical trials a year from Phase I through Phase IV, replaced its legacy proprietary electronic data capture solution with Oracle Clinical and Oracle Remote Data Capture—helping to eliminate labor-intensive paper-based processes and data silos; accelerate data capture, validation, and submission; minimize manual data entry errors; and reduce paper use. By automating and streamlining clinical trial processes, Guangzhou Boji is speeding data collection and time to database lock while reducing costs, elevating the value that it delivers to trial sponsors. This CRO also plans to implement Oracle’s Siebel Clinical Trial Management System to help streamline its internal processes. With a centralized system to manage multiple studies, Guangzhou Boji hopes to lower trial costs and clinical research associate costs and to move toward paperless reporting. Supporting Quotes “Oracle Health Sciences is known worldwide for its industry-leading e-clinical solutions, which help trial sponsors and CROs improve clinical study productivity and data quality while driving down operational costs. Oracle Health Sciences e-clinical applications, the industry gold standard, enable us to deliver greater value to our clients while fortifying their confidence in our organization. These factors are instrumental to our continued growth,” said Zhu Quan, data management director, Guangzhou Boji. “Oracle Health Sciences e-clinical solutions are designed to help innovative organizations, such as Guangzhou Boji, achieve new levels of clinical development program productivity and efficiency. This relationship will bring opportunities for both Oracle and Guangzhou Boji to enhance clinical trial programs across Asia and provide high-quality trials in a growing market with more complex studies,” said Steve Rosenberg, senior vice president and general manager, Oracle Health Sciences.Supporting Resources Oracle in Health Sciences Oracle Clinical Oracle Remote Data Capture Oracle Thesaurus Management System Oracle’s Siebel Clinical Trial Management System Follow Oracle Health Sciences on Twitter Join the Oracle Health Sciences Community on Facebook Oracle Health Sciences on YouTubeAbout Oracle

Oracle engineers hardware and software to work together in the cloud and in your data center. For more information about Oracle (NYSE:ORCL), visit

About Oracle in Industries

Oracle industry solutions leverage the company’s best-in-class portfolio of products to address complex business processes relevant to health sciences, helping speed time to market, reduce costs, and gain a competitive edge.

About Oracle Health Sciences

At Oracle, we believe that a more predictive, preventive, personalized, and participatory system will help improve human health. We can help accelerate this journey to personalized medicine through technology, data, and insights. Oracle's solutions support industry initiatives to improve care quality and outcomes; reduce costs; and speed time to market for new treatments, therapies, and devices. Oracle Health Sciences delivers comprehensive business applications, plus database, middleware, and hardware solutions for life sciences and healthcare companies and institutions worldwide. For more information, visit


Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Contact Info

Samantha Thai

Mary Tobin
O’Keeffe & Company

Categories: Database, Vendor

Managing complexity in safety critical industries – complex workflows made easy

Intland Blog - Thu, 11/06/2014 - 11:46
Date and time: 6 November 2014 – 4pm (CET) Webinar duration: 20 minutes What you can learn: Workflows are a crucial factor in successfully managing complexity. In this webinar, we’ll show you how to manage complex workflows in safety critical
Categories: Vendor

Create and Share your own Custom Actions for the Recorder Latest News - Thu, 11/06/2014 - 10:53

This article explains how custom actions can be implemented and used directly within Ranorex Recorder. Additionally, it provides an example implementation of a custom (user code) action. It furthermore describes how this action can easily be shared – e.g. to also make such actions available for non-programmers, mainly through the use of Ranorex Recorder.


Although Ranorex Recorder provides a number of smart actions to be used in various automation scenarios (Set Value, Close Application, etc.), it might be useful to provide custom smart actions (i.e. user code actions) tailored to your everyday automation needs.

User code actions are even more powerful since they now allow arguments of various data types, first and foremost a data type for repository items. This comes with a possibility for making custom actions more flexible and adjustable since repository items can be assigned as arguments in the Ranorex Recorder.

Since very often different scenarios demand different solutions, we would also like to see your “top custom actions” on our user voice platform. This platform allows users to share ideas and also vote for implementations that have been shared by others in the community. Let’s build up a useful library of custom actions!

Example: Step-by-Step Instructions for Custom “Key Sequence and Validation” Action

We can assume that someone needs to automate a key sequence on a text box located on a website, followed by a subsequent validation. These two actions then need to be performed for several text boxes throughout the test. Although this scenario can easily be implemented with copy and paste (producing lots of redundancies), in best practice it is realized using the following steps:

1. Merge Relevant Items to a “User Code” Action

Merge the relevant actions into a user code item using the context menu and provide a meaningful name for this newly created action, e.g. “KeySequenceAndValidate”.


Now these two steps are available as one “UserCode” action within the current recording. It can easily be called multiple times, but the underlying actions are still static and inflexible, being performed on the same “hardcoded” repository element and key sequence.

2. Make Action Flexible by Providing Arguments

Click the “Args…” button to bring up the argument editor, allowing you to create input parameters (i.e. arguments) for this user code action.


These arguments will later allow the action to be performed on any assigned repository item with any key sequence provided – without the need to modify the action itself.


For this sample, a parameter of type “Adapter” (representing the repository element) is needed as well as a parameter of type “String” representing the key sequence (more information on user code parameters).

3. User Parameters in User Code

Resulting from the modifications in the argument editor, two new arguments have been added to the header of the user code action “KeySequenceAndValidate”. These arguments can be reviewed in the <RecordingName>.UserCode.cs (or *.vb) file:

public void KeySequenceAndValidate(Ranorex.Adapter MyTextBox, string MyKeySequence)

The usage of the static repository item and key sequence should now be made flexible by using the given arguments so replace the hardcoded “repo.RanorexWebsite.InputTagQ” with the parameter “MyTextBox”. Additionally replace the hardcoded key sequence “Ranorex” with the parameter “MyKeySequence”. After these modifications and after dropping the two lines starting with “Report.Log(…”, your code should look like this:

public void KeySequenceAndValidate(Ranorex.Adapter MyTextBox, string MyKeySequence)
    MyTextBox.PressKeys(MyKeySequence); // Perfom key sequence action
    Validate.Attribute(MyTextBox, “InnerText”, MyKeySequence ); // validate result

Note: Logging (“Report.Log…”) has been removed in the sample above. Detailed information on custom logging from code can be found in our user guide.

Now this action can easily be called from the recorder view (see screenshot below) whenever these steps need to be performed. Since this user code action is now completely adjustable, the repository item as well as the key sequence can be provided as arguments in the recorder’s action table.


Consequently the same action could also be called from another position to be performed on another repository item with another key sequence. To reuse existing custom actions, click “Add New -> User Code Action” and choose the desired method from the drop down. To quickly assign repository items, the drag and drop feature can be used (see screenshot below).


Spread your Custom Action by Inheriting from a Base Class

When implementing the steps described above, the custom user code action is available within the current recording only. Usually with bigger projects, there is likely a need to call this method from multiple recording modules. This can be achieved by using a simple trick: inheritance!
To start with the inheritance approach, first add a new item from type “Class” to your Ranorex Project and give it a meaningful name, e.g.: RecorderBaseClass (see screenshot below). It will be your base class for future as well as existing recordings.


Now move the code of your custom action “KeySequenceAndValidate” from the “UserCode”-file to the newly created class.



Finally, every recording that should have access to the methods provided in the base class needs to be modified with a simple change: derive the recording’s user code from the base class. Simply open the <RecordingName>.UserCode.cs file and add a colon followed by the name of the base class to the existing declaration of the class (see screenshot below).


Doing so, all methods from the base class are combined (globally shared) with the ones from the corresponding user code file (locally shared) and are also automatically available in the recording.



This approach can be applied to all new and existing recordings.

Advanced Example: Validate Content of Whole Table

Even more complex scenarios can be implemented with the workflow described above. Assuming the content of a whole table needs to be validated, using a user code action to accomplish this can save a lot of time, especially if the table to be validated can be passed as a parameter. Please find a sample implementation of the described scenario in our code examples: Advanced Validation – Whole Table.

Post Your Top Use Case

Apart from the use cases mentioned above, you might have other frequently used cases of custom actions. To share them with others, please visit and contribute your custom actions! Also feel free to vote for ideas and implementations being shared by other Ranorex users. Top voted custom user codes might later be added to the default set of Ranorex actions.


User code actions can be extended with arguments of various data types whereas the Repository Item might be the one with the biggest impact. It allows a user to create custom actions (e.g. key sequence and a following validation) completely independent of a specific repository item. By using inheritance, these custom actions can easily be shared and therefore can be used in the Ranorex Recorder by someone without development skills. Concrete examples of custom actions and inheritance were shown, including the complex validation of the content of an entire table.

Categories: Vendor

Applying Java Code Conventions Using Walkmod

Software Development Tools Directory - Thu, 11/06/2014 - 07:32
Walkmod is an open source Java tool to apply code conventions. It scans the code and instead of just reporting the invalid source files, it corrects the code automatically.
Categories: Vendor


Software Development Tools Directory - Thu, 11/06/2014 - 07:29
Nightwatch.js is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites. It uses the powerful Selenium WebDriver API to perform commands and assertions on DOM elements. It provides Continous Integratio ...
Categories: Vendor


Software Development Tools Directory - Thu, 11/06/2014 - 07:25
Serenity is a Java code coverage, complexity and dependency library that uses dynamic instrumentation, with a friendly Hudson/Jenkins UI. Configuring Serenity with Jenkins/Hudson is very simple, four steps.
Categories: Vendor

Large Enterprises View Business Transformation as Essential to Ability to Compete, But Struggle with Execution, According to New Oracle Study

Oracle Database News - Thu, 11/06/2014 - 07:00
Large Enterprises View Business Transformation as Essential to Ability to Compete, But Struggle with Execution, According to New Oracle StudyNearly Half of Executives Say Their Organization is Not at All or Only Somewhat Prepared to Execute a Business TransformationRedwood Shores, Calif. – November 06, 2014News Summary

Today, continual business transformation is crucial for companies to stay ahead of emerging players and maintain a competitive edge. From bringing new offerings to market to deploying IT systems to major capital expenditures, business transformation can take countless forms. Many large institutions, however, are struggling with their transformation efforts, according to “Making the Change: Planning, Executing and Measuring a Successful Business Transformation,” a study from Oracle and Forbes. Despite strong agreement that business transformation is fundamental to success, 48% of executives surveyed say their organization is only somewhat or not at all prepared to successfully execute a business transformation today.

News Facts Oracle, in partnership with Forbes, today announced the results of its “Making the Change: Planning, Executing and Measuring a Successful Business Transformation” study, which surveyed 534 executives from large global enterprises. While the vast majority of executives (86%) said that business transformation is necessary for continued success, many are struggling with it. The study reveals that one in five respondents felt that their attempts at transformation had failed; and three in five have not yet attempted a transformation. Overall findings from the study include: Continual transformation is crucial to staying ahead of the curve but many business leaders say their organization is not well prepared. Eighty-six percent of executives believe their organization should execute a business transformation initiative regularly to stay competitive—showing executives believe their organizations need to change ahead of their industry to stay relevant. But nearly half (48%) of executives believe their organization is only somewhat or not at all prepared to successfully execute a business transformation today. Execution can make or break it. Execution of a business transformation initiative can make or break its success. The most often cited cause for failure in the rollout of a business transformation initiative is inefficient execution (41%), followed by resource and budget constraints (35%). Additionally, top reasons for successful initiatives include support from leadership (51%) and strong, competent execution (48%). It’s not just about efficiency, it’s about innovation. Global executives say that changes in client expectations and technology advances are key internal drivers for business transformation today, followed by a shifting competitive landscape. In other words, they need to innovate to do things such as develop new business models, rationalize their portfolios or improve processes to stay ahead of the curve. 82% cited the need for innovation—the increased ability to develop and deliver new products and services to the market and clients—as a very important external driver of the need for business transformation. The key to executing a successful business transformation is a clear understanding of financial reality. Executives rated a balanced scorecard showing key metrics and achievement toward goals (46%), understanding the true impact of a proposed change to an initiative on all other initiatives across the organization (40%) and a clear summary of costs associated with the initiative (40%) as the capabilities most critical to a successful transformation execution. In percentage terms, roughly twice as many of those who feel extremely well prepared to execute a business transformation (versus total respondents) are very well equipped for these challenges. Failure to anticipate and account for risk can quickly derail a business transformation. Top challenges to successful business transformation are related to the ability to accurately account for, predict and build contingencies around risk. Thirty-nine percent said failing to anticipate market changes was the biggest planning challenge threatening their business transformation activities, while 35% said misjudgment or failure to anticipate risk factors posed a substantial threat. In addition, 30% pointed to the inability to evaluate and model different options or plans, as well as ensuring a standardized/consistent approach presented challenges (29%). Adoption of enterprise project portfolio management (EPPM) makes a difference. Respondents who consider their organizations to be leaders in business transformation are significantly more active in leveraging EPPM methodologies and processes. Twenty-seven percent of business transformation leaders leverage EPPM across their entire enterprise, compared with 13% of total executives surveyed; 55% of transformation leaders leverage EPPM across either their whole company or their business unit, compared with 38% of total respondents. The study surveyed 534 senior executives (defined as director or above—with 61% of respondents C-level executives) at companies with $1 billion or more in revenues. Respondents spanned the Americas (37%), Europe-Middle East-Africa (EMEA) (29%) and Asia Pacific (34%), as well as a range of industries including professional services (10%), banking and finance (7%), manufacturing (13%), retail (6%) and engineering (6%). Supporting Quotes “For businesses to remain ahead of an ever-changing market and meet rapidly evolving customer demands, they must effectively plan and execute transformational initiatives to create breakout growth and sustainable market leadership,” said Mike Sicilia, senior vice president and general manager, Oracle Primavera Global Business Unit. “EPPM solutions can help organizations address these challenges and needs simultaneously to support transformational investments on all fronts.” Supporting Resources Oracle Primavera Making the Change: Planning, Executing and Measuring a Successful Business Transformation Oracle Primavera on Facebook Oracle Primavera on Twitter


About Oracle

Oracle engineers hardware and software to work together in the cloud and in your data center. For more information about Oracle (NYSE:ORCL), visit

TrademarksOracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.Contact Info

Valerie Beaudett

Mary Tobin
O’Keeffe & Company

Categories: Database, Vendor

Improve Product and Software Development by Integrating ALM and PLM (Part 4 of 4)

Polarion Software - Wed, 11/05/2014 - 17:27
SVP Stefano Rizzo concludes his 4-part series on ALM-PLM integration. Download a free eBook with the content of the entire series.
Categories: Vendor

GWT 2.7 RC1 is here!

Google Web Toolkit Blog - Tue, 11/04/2014 - 19:15
Today we are excited to announce GWT 2.7 Release Candidate 1.  Thanks to everyone who contributed to this release.
This release has the much anticipated support for incremental compilation in Super Dev Mode, dramatically reducing interactive build times.
GWT 2.7 also has a host of new features, performance improvements and bug fixes.  For a summary of changes since GWT 2.6.1, read the release notes.
You can download this release from here.
For this release, we also have updated the GPE to include support for Super Dev Mode, get it from here.
- GWT & GPE Team
Categories: Java, Open Source, Vendor

ZeroTurnaround Announces the Release of JRebel 6

Software Development Tools Directory - Tue, 11/04/2014 - 18:12
ZeroTurnaround announced the availability of JRebel 6, the first major release of its flagship product to feature full integration of Javeleon technologies, acquired by ZeroTurnaround in March 2013. Now Java developers can create higher-quality c ...
Categories: Vendor

Azul Systems and DataStax Partner on High-Performance Java Platform for Cassandra

Software Development Tools Directory - Tue, 11/04/2014 - 18:03
Azul System and DataStax announced a partnership to allow DataStax Enterprise (DSE) customers to leverage the enhanced performance of Azul Zing. Zing is now a certified Java Virtual Machines (JVM) for DataStax Enterprise (DSE), ensuring smooth de ...
Categories: Vendor

MetaEdit+ 5.1 brings rich graphical DSLs for Collaborative Development

Software Development Tools Directory - Tue, 11/04/2014 - 17:55
MetaCase has released a new, feature-rich version of its Domain-Specific Modeling and code generation tool, MetaEdit+®. MetaEdit+ 5.1 is aimed at expert developers who want to empower their team to generate efficient, complete code directly f ...
Categories: Vendor

Oracle Helps Customers Stay Competitive with Innovations Across Its JD Edwards EnterpriseOne Applications Line

Oracle Database News - Tue, 11/04/2014 - 14:00
Oracle Helps Customers Stay Competitive with Innovations Across Its JD Edwards EnterpriseOne Applications LineNew mobile and industry solutions help organizations accelerate business execution, improve profits, and increase customer satisfaction and loyaltyREDWOOD SHORES, Calif. – November 4, 2014News Summary

To stay competitive in today’s fast-paced and hyper connected world, organizations need business applications that support continued growth and innovation. To meet this demand and help customers maximize their technology investments, Oracle has introduced new solutions across its JD Edwards EnterpriseOne line of applications. Oracle is announcing new rental management solutions to support the rental of products and assets such as heavy equipment, medical equipment, oil and gas equipment, mining equipment, and construction equipment as well as eight new mobile enterprise applications. The new innovations will help organizations empower the mobile workforce, maximize operational efficiencies, reduce corporate costs, and increase profits.

News Facts Further extending its commitment to helping customers increase profits and improve business processes, Oracle today announced new solutions and enhancements for its JD Edwards EnterpriseOne applications line. In addition to releasing eight new JD Edwards EnterpriseOne mobile enterprise applications to empower the mobile workforce, Oracle also released new rental management solutions for JD Edwards EnterpriseOne. JD Edwards EnterpriseOne Rental Management and JD Edwards EnterpriseOne One View Reporting for Rental Management allow customers to manage every aspect of equipment and rental inventory with confidence and accuracy—helping improve profits by controlling costs and maximizing utilization. Through continued innovation across its JD Edwards applications, Oracle has further enhanced the comprehensive enterprise resource planning software by combining business value, standards-based technology, and deep industry experience into a business solution with a low total cost of ownership (TCO).Extending Commitment to the Rental Management Industry Oracle’s new JD Edwards EnterpriseOne Rental Management offers organizations strategic visibility into inventory and equipment availability, supporting high levels of customer service while managing revenue and expenses. The solution’s comprehensive analytics reduce reporting time, analyze utilization trends, and provide insight into equipment profitability to improve operational efficiency and increase customer satisfaction and loyalty. JD Edwards EnterpriseOne Rental Management supports all aspects of a rental service including rental contacts and agreements, equipment handling and item commitments to inventory, reservations for future rentals, and rental cost allocations. JD Edwards EnterpriseOne One View Reporting for Rental Management helps organizations accurately assess the health of their business by analyzing rental data from several perspectives to gain valuable insight into key customers, rental contracts, and profits. Empowering the Mobile Workforce Eight new mobile applications extend JD Edwards EnterpriseOne to smartphones and tablets, enabling users to accelerate business execution and help their organizations find new ways to create operational efficiencies. The new applications allow users to review the general ledger, invoice, receipt, and voucher transactions within a batch and approve the batch to be posted—from their mobile devices. Mobile users can also review the associated transactions within the batch prior to approval. The new JD Edwards EnterpriseOne mobile enterprise applications are now available on Apple’s App Store and Google Play.Enhancements Improve Integration and Processes JD Edwards EnterpriseOne also includes the following new enhancements: Wine on-premises operations reporting: Summary of daily records for material and operation types to help prepare wineries for tax returns and monthly reports. Combines data from the JD Edwards EnterpriseOne Blend Management and JD Edwards EnterpriseOne Inventory Management systems to verify accuracy of on-premises inventory. Leverages new industry standards for business services integration: Supports customers using Java API for XPI Web Services (JAX-RPC) to adapt to new JAX-WS versions of the Java technology. Supporting Quote “Organizations across all industries are having to face the challenging business requirements of today’s fast-paced world that demands the ability to make decisions quickly—whether in the office or in the field,” said Lyle Ekdahl, senior vice president general manager, Oracle’s JD Edwards. “To help customers conquer this challenge, we’ve introduced a number of new industry and mobile solutions to Oracle’s JD Edwards EnterpriseOne applications line in the past several months. These latest innovations help customers build on our long-standing commitment to maximize our customers’ technology investments by delivering an integrated, standards-based portfolio of innovative applications that can help accelerate business execution, reduce costs, and drive business value.”Supporting Resources Oracle’s JD Edwards EnterpriseOne Oracle's JD Edwards EnterpriseOne Mobile Solutions Oracle's JD Edwards EnterpriseOne One View Reporting JD Edwards Blog: Attitude@Altitude Follow us on Twitter: @OracleJDEdwards

About Oracle

Oracle engineers hardware and software to work together in the cloud and in your data center. For more information about Oracle (NYSE:ORCL), visit


Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.


Karen Hartquist

Simon Jones
Blanc & Otus

Categories: Database, Vendor

SonarSource Team Java, Cobol and C++ Plugin Release

Software Development Tools Directory - Tue, 11/04/2014 - 10:46
The SonarSource Team is has announced the release of new plugins for Java, Cobol and C/C++/Objective-C.
Categories: Vendor

Reminder for December Workshops Latest News - Tue, 11/04/2014 - 08:45
We are very pleased to remind you about our upcoming online Ranorex training course, scheduled for December.

Get firsthand training with Ranorex professionals and learn how to get the most out of Ranorex Studio at one of these workshops.

Look at the schedules for additional workshops in the next few months.
Categories: Vendor

Inflectra Sponsors the QASW Summit 2014

Inflectra News - Tue, 11/04/2014 - 01:00
Inflectra is pleased to announce that it is sponsoring the Quality Agile Development (QASW 2014) Seminar in Helsinki, Finland on November 5th, 2014 in conjunction with our partner Q-Factory (
Categories: Vendor

Morris Medical Monday: Work Item Type “Integration Test”

Polarion Software - Mon, 11/03/2014 - 18:20
Polarion Consultant Daniel Morris continues his in-depth probe of Polarion's MedPack solution for medical device developers with a discussion of the "Integration Test" work item type.
Categories: Vendor


Software Development Tools Directory - Mon, 11/03/2014 - 16:40
Lwan is a high-performance & scalable web server for glibc/Linux platforms.
Categories: Vendor