Giter Site home page Giter Site logo

site_master's People

Contributors

ericras avatar jsturek avatar kabel avatar mfairchild365 avatar saltybeagle avatar skoolbus39 avatar tommyneu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

site_master's Issues

Member Verification File Content

You ask the user to create a specifically named file on there server. It would be much easier if you gave them a file to download (clicking is easier than copy/paste).

I also suggest that a template verification file include some text about what the file is and who it's for:

This file {FILENAME}
belongs to {USER} {EMAIL}.

It's a verification key for SiteMaster.

I would also include some copy about if/when it is safe to delete the file.

issue scanning sites with https

If a site's base URL in webaudit starts with https, but the site contains links that are both http and https, only the https links are seen and the http links are ignored.

Add number of pages on to "My Sites" page to view which sites are larger than others

We had a request come in where it would be nice to see a page count on the My Sites page so you can easily compare the different sites

We would probably want to convert the panels on the My Site Page to a grid (/www/templates/html/SiteMaster/Core/Registry/Sites/All.tpl.php)

We would also need to use the getPageCount func from the site records (/src/SiteMaster/Core/Registry/Site.php)

301s

  • Bring back 301 checking.
  • Alter the points so that a 301 doesn't impact score, but we still get the list of links to update.

Improve 4.0 Theme integration

Suggestions:

  • Remove padding from .site-list
  • Add inner-wrappers to provide page content bottom padding.
  • Move the .site-list .site styles to .panel

Mysterious "Pending Roles"

I should not have any pending roles on my site, but 4 (3 of the same type) appear. Also there is no way to "Deny" these roles.

screen shot 2014-03-11 at 4 09 54 pm

Add a status page

This state page would keep a record of all events which caused mass 0 scores.

These scores are due to a outside service that are used/linked on a majority of pages. When these services go down it causes each page to get a bad score and leads to the site getting a 0.

These 0's would also prompt a notice in the email notification that says that the issue may be related to an outside service and to check the status page for details.

Fix erroring db tests

$ php vendor/bin/phpunit --bootstrap init.php tests
PHPUnit 3.7.29 by Sebastian Bergmann.

....EEE.E............

Time: 649 ms, Memory: 4.50Mb

There were 4 errors:

1) SiteMaster\Core\Registry\QueryDBTest::getByUser
Argument 1 passed to SiteMaster\Core\Registry\Site\Member\Role::createRoleForSiteMember() must be an instance of SiteMaster\Core\Registry\Site\Role, boolean given, called in /var/www/html/src/SiteMaster/Core/DBTests/BaseTestDataInstaller.php on line 50 and defined

/var/www/html/src/SiteMaster/Core/Registry/Site/Member/Role.php:38
/var/www/html/src/SiteMaster/Core/DBTests/BaseTestDataInstaller.php:50
/var/www/html/src/SiteMaster/Core/DBTests/DBTestCase.php:49
/var/www/html/tests/SiteMaster/Core/Registry/QueryDBTest.php:95
/var/www/html/tests/SiteMaster/Core/Registry/QueryDBTest.php:14

2) SiteMaster\Core\Registry\QueryDBTest::getByURL
Argument 1 passed to SiteMaster\Core\Registry\Site\Member\Role::createRoleForSiteMember() must be an instance of SiteMaster\Core\Registry\Site\Role, boolean given, called in /var/www/html/src/SiteMaster/Core/DBTests/BaseTestDataInstaller.php on line 50 and defined

/var/www/html/src/SiteMaster/Core/Registry/Site/Member/Role.php:38
/var/www/html/src/SiteMaster/Core/DBTests/BaseTestDataInstaller.php:50
/var/www/html/src/SiteMaster/Core/DBTests/DBTestCase.php:49
/var/www/html/tests/SiteMaster/Core/Registry/QueryDBTest.php:95
/var/www/html/tests/SiteMaster/Core/Registry/QueryDBTest.php:50

3) SiteMaster\Core\Registry\QueryDBTest::getByAll
Argument 1 passed to SiteMaster\Core\Registry\Site\Member\Role::createRoleForSiteMember() must be an instance of SiteMaster\Core\Registry\Site\Role, boolean given, called in /var/www/html/src/SiteMaster/Core/DBTests/BaseTestDataInstaller.php on line 50 and defined

/var/www/html/src/SiteMaster/Core/Registry/Site/Member/Role.php:38
/var/www/html/src/SiteMaster/Core/DBTests/BaseTestDataInstaller.php:50
/var/www/html/src/SiteMaster/Core/DBTests/DBTestCase.php:49
/var/www/html/tests/SiteMaster/Core/Registry/QueryDBTest.php:95
/var/www/html/tests/SiteMaster/Core/Registry/QueryDBTest.php:73

4) SiteMaster\Core\Registry\RegistryDBTest::getClosestSite
Argument 1 passed to SiteMaster\Core\Registry\Site\Member\Role::createRoleForSiteMember() must be an instance of SiteMaster\Core\Registry\Site\Role, boolean given, called in /var/www/html/src/SiteMaster/Core/DBTests/BaseTestDataInstaller.php on line 50 and defined

/var/www/html/src/SiteMaster/Core/Registry/Site/Member/Role.php:38
/var/www/html/src/SiteMaster/Core/DBTests/BaseTestDataInstaller.php:50
/var/www/html/src/SiteMaster/Core/DBTests/DBTestCase.php:49
/var/www/html/tests/SiteMaster/Core/Registry/RegistryDBTest.php:16

FAILURES!
Tests: 21, Assertions: 52, Errors: 4.

Some links cause an endless loop

Take this scenario

A website has a badly coded relative URL link, we keeps appending the link's path to the end of the url. It would look something like this: http://www.example.com/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/contact-us/co

SiteMaster has logic to prevent such a URL from stalling the system. It does this by taking the md5 hash of the URL looking for another page in the scan that has the same hash.

This does not appear to be working correctly in some circumstances. I believe this is because of URI truncation in the database.

The script looks first for the full url, then gets inserted as the truncated url. because the truncated url has a different md5 hash than the full URL, it will result in duplicate pages being scanned.

place a limit on the number of links to check

There is currently no limit to the number of links that will be checked by the link checker metric. This is perhaps the main source of slow scans.

Currently, there are on average 80.73 links/page. To be generous, I propose implementing a limit of 150 links per page.

SELECT AVG (total) FROM (SELECT count(*) as total FROM `scanned_page_links` GROUP BY scanned_page_id) as query

Cannot Login if active UNL SSO session exists.

There is no login link or button in the navigation/home.

I don't particularly like auto login for services, so I would prefer to have to click a button than to have the system attempt a gateway auth.

Tree view for site pages

The list for site pages can easily become unwieldy for large (segmented) sites. Implementing a tree view would help better locate pages quicker.

strip URL `#fragments` from redirects while downloading

There is a bug in CURL versions < 7.20, which cases requests to a url with a fragment (index.php#fragment) to return a 400 HTTP response. Because redhat 6 and other distros only support 7.19, I am including a workaround

Page remains a "hot spot" even after being fixed

If a page is a hot spot for a metric and that page is then fixed/changed by a single page scan, the "Current Report" will still show the page as a "hot spot" even though the GPA and pages all reflect "A+" status.

Consider using rel="canonical"

This <link> is used to tell robot agents the permalink for a page. This URL could be used to reduce the number of duplicate pages that appear in a scan. For example, a product page that has a URL for every category it's in.

Use puppeteer instead of nightmarejs

This project was created before puppeteer was released. Thus we used the best headless browser at the time, nightmarejs. Now that Google Chrome has an official headless browser, we should use that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.